Algunos idiomas, por ejemplo, Java, introdujeron un GC de pausa baja.
Esos GC pueden hacer la mayor parte del trabajo sin detener el mundo entero. Obviamente, este es un problema bastante difícil porque requiere analizar la memoria cuando el hilo lo está modificando, lo que da como resultado datos que se pueden usar al comienzo del proceso y no más cuando finaliza, o datos que parecen ser basura, sino porque el la referencia se movió en la memoria y nunca apareció donde estaba mirando el GC.
Básicamente, ¿cuál es el (los) algoritmo (s) detrás de eso?
Los trabajos de investigación o el enlace de un artículo realmente técnico se considerarían una respuesta válida, ya que este tema es realmente técnico.