La palabra reservada ref (ó __gc) le dice al compilador que esa clase será manejada por el recolector de basura, aunque, y a diferencia de otros lenguajes de .NET como C#, aún puede seguir llamando al destructor con "delete".