Suprimir la recolección de basura C #

Mi aplicación asigna una gran cantidad de memoria (millones de objetos pequeños que suman varios gigabytes) y la retiene durante mucho tiempo.

Es .NET perder el tiempo revisando todos estos datos para hacer GC en él? ¿Con qué frecuencia ocurre el GC Gen 2 (el que verifica todos los objetos)? ¿Hay alguna forma de reducir su frecuencia o suprimirla temporalmente? Sé exactamente cuándo estoy listo para que se recopile una gran cantidad de memoria, ¿hay alguna forma de optimizarlo? Actualmente estoy llamando a GC.Collect (); GC.WaitForPendingFinalizers (); En ese tiempo

Update: El contador de rendimiento "% de tiempo en GC" muestra un promedio de 10.6%.

Respuestas a la pregunta(12)

Su respuesta a la pregunta