Чтение старого, но классического документа Написание высокопроизводительных управляемых приложений - Primer, я наткнулся на следующий статус
GC самонастраивается и будет настраиваться в соответствии с требованиями к памяти приложений. В большинстве случаев программный вызов GC будет препятствовать этой настройке. "Помогая" GC, вызвав GC.Collect, более чем вероятно не улучшит производительность ваших приложений.
Я работаю с приложениями, которые в данный момент времени потребляют много памяти. Когда я закончил с кодом, использующим эту память, я вызываю GC.Collect. Если я этого не сделаю, я получаю исключение из памяти. Такое поведение является непоследовательным, но грубо говоря, 30% времени, я получаю из памяти. После добавления GC.Collect я никогда не получал исключение из памяти. Является ли мое действие оправданным, даже несмотря на то, что этот документ с лучшей практикой не рекомендует ему?