GC не запускается автоматически в конце вызова области или функции. Согласно документации MS:
Сборка мусора происходит, когда выполняется одно из следующих условий:
• В системе недостаточно физической памяти. Это определяется либо уведомлением о недостаточном объеме памяти из ОС, либо указанием хоста о недостаточном объеме памяти.
• Объем памяти, используемой выделенными объектами в управляемой куче, превышает допустимый порог. Этот порог постоянно регулируется в процессе работы.
• Вызывается метод GC.Collect. Почти во всех случаях вам не нужно вызывать этот метод, потому что сборщик мусора работает непрерывно. Этот метод в основном используется для уникальных ситуаций и тестирования.
Основы сбора мусора