Недокументированная особенность класса List<T> (2009-8-29)
Несмотря на то, что использование цикла foreach в принципе не комильфо, многие его используют. Для поклонников этого цикла и предлается следующая информация. Не секрет, что, если в теле цикла foreach Вы попытаетесь изменить коллекцию List<T>, Вы получите InvalidOperationException. Однако это происходит не всегда.