
.NET (y Java y otros cuantos lenguajes de programación) incorporan el concepto de recolector de basura. Básicamente su función consiste en liberarnos del problema o la preocupación de tener que gestionar la memoria manualmente. Esto, para aquellos que venimos de Delphi o C++ es, llanamente, una gozada. Se acabaron los malloc y los frees, se acabó controlar si nadie utiliza un objeto o no, nada de usar conteo referencial o técnicas similares, el recolector de basura se encarga por nosotros.
Sin embargo la propia implementación del recolector de basura es algo en lo que nunca tendemos a pensar. No es precisamente sencilla aunque es sin duda uno de los campos de programación más interesantes en cuanto a que implica la resolución de un montón de problemas asociados. Algunos de dichos problemas estan explicados junto con una explicación del funcionamiento del nuevo recolector de basura de mono en un excelente artículo en inglés.
Otros enlaces sobre el tema: