Проблема в полных сборках, и именно их фоновый режим обрабатывает по-другому. Не вся работа, выполняемая при сборке, действительно требует приостановки всего, и фоновый режим использует это, позволяя полной (поколение 2) сборке продолжать работу в фоновом потоке, не блокируя другие потоки до окончания сборки. Это может позволить машинам с несколькими процессорными ядрами (большинство компьютеров в настоящее время) выполнять полные сборки мусора на одном ядре, в то время как другие ядра продолжают полезную работу. Это особенно полезно в приложениях с пользовательским интерфейсом, поскольку снижает вероятность того, что приложение перестает отвечать на запросы из-за сборок мусора.
Программируем на C# 8.0. Разработка приложений
·
Иэн Гриффитс