Parece que um objeto List não pode ser armazenado em uma variável List em C # e nem pode ser convertido explicitamente dessa forma.
List<string> sl = new List<string>();
List<object> ol;
ol = sl;
resulta em não é possível converter implicitamente o tipo System.Collections.Generic.List<string>
paraSystem.Collections.Generic.List<object>
E depois...
List<string> sl = new List<string>();
List<object> ol;
ol = (List<object>)sl;
resulta em Não é possível converter o tipo System.Collections.Generic.List<string>
paraSystem.Collections.Generic.List<object>
Claro, você pode fazer isso retirando tudo da lista de strings e colocando de volta um de cada vez, mas é uma solução bastante complicada.