сборщик мусора имеет 3 поколения 0 1 2
наивысшее поколение - 2. В .net сборщик мусора обычно вызывается неявно, но вы также можете принудительно вызвать GC.
при первом запускепоколения заполнены, т. е. 0 GEN, и ваше приложение хочет сохранить еще какое-то значение, тогда этот GC вызовет и проверит, какие элементы используются, а какие нет, и удалит неиспользуемый элемент, если все элементы используются, тогда все элементы будут переданынемного более высокий уровень, т.е. 1 GEN аналогично 2 GEN, когда все поколения заполнены, и вы хотите сохранить еще какой-то элемент, тогда GC выбросит память исключений из диапазона исключений.