Hmm. Even with that piece of code comented out, if I run a Debug.Log(typeof(IList<Vector3>).GetEnumerableElementType());, it will correctly return typeof(Vector3). Maybe the issue lies somewhere else? What version of Unity are you using and what are the scripting backened, compatibility level and version in Unity Player Settings?