Parece que un objeto List no se puede almacenar en una variable List en C #, y ni siquiera se puede convertir explícitamente de esa manera.
List<string> sl = new List<string>();
List<object> ol;
ol = sl;
da como resultado No se puede convertir implícitamente el tipo System.Collections.Generic.List<string>
aSystem.Collections.Generic.List<object>
Y entonces...
List<string> sl = new List<string>();
List<object> ol;
ol = (List<object>)sl;
resultados en No se puede convertir el tipo System.Collections.Generic.List<string>
aSystem.Collections.Generic.List<object>
Por supuesto, puede hacerlo sacando todo de la lista de cadenas y volviéndolo a colocar uno a la vez, pero es una solución bastante complicada.