Nebenbei, kann man das Typ-Argument bei Enumerable.ToList<T>() nicht weglassen? Das sollte der Compiler eigentlich herleiten können. Vermeidet unnötige Wiederholungen und erleichtert eine Änderung des Typs.
Aber das hat natürlich nichts mit der Frage zu tun