I frequently get exceptions like this one on Windows Phone 8:
System.InvalidCastException: Unable to cast object of type 'UnityEngine.GUISkin' to type 'UnityEngine.GameObject'.
at UnityEngine.Component.InternalGetGameObject()
at UnityEngine.Component.get_gameObject()
at UnityEngine.Component.GetComponentsInChildren[T](Boolean includeInactive)
at UnityEngine.Component.GetComponentsInChildren[T]()
at SOME CODE
That exception happens in different, completely unrelated Unity API functions. It is always a problem with casting UnityEngine.GUISkin to some other random type like GameObject, RigidObject, my classes and even lambda expressions.