Объяснение
C# различает value и reference types. LINQ часто откладывает выполнение до перечисления. Nullable annotations помогают анализатору, но не проверяют автоматически данные, пришедшие из сети.
Задача для самостоятельного решения
Почему два перечисления LINQ-запроса могут дать разные результаты?
Показать разбор ответа
Запрос выполняется заново и видит изменившийся источник. Если нужен стабильный снимок, материализуйте его через ToList и учитывайте стоимость памяти.