Wygląda na to, że obiekt List nie może być przechowywany w zmiennej List w C #, a nawet nie może być jawnie rzutowany w ten sposób.
List<string> sl = new List<string>();
List<object> ol;
ol = sl;
powoduje, że nie można niejawnie przekonwertować typu System.Collections.Generic.List<string>
naSystem.Collections.Generic.List<object>
I wtedy...
List<string> sl = new List<string>();
List<object> ol;
ol = (List<object>)sl;
powoduje, że nie można przekonwertować typu System.Collections.Generic.List<string>
naSystem.Collections.Generic.List<object>
Oczywiście możesz to zrobić, wyciągając wszystko z listy ciągów i umieszczając je z powrotem po jednym, ale jest to dość zawiłe rozwiązanie.