Wenn niemand mehr eine Referenz auf eine Instanz hält wird diese beim nächsten Sweep der GC zerstört.
Solange du nur hübsche .Net Klassen ohne native Anhängsel benutzt hört die Geschichte für dich hier auf und alles ist in Butter...
Wenn nicht, nunja dannn kommen wir wieder zurück zu IDisposable und Konsorten[1]. Denn mit native Krempel läufst du in Bereiche, die die GC nicht verwalten kann. Du implementierst also IDisposable und packst in Dispose den Code zum aufräumen. Außerdem muss der Benutzer nun auch explizit Dispose aufrufen. (Ähnlich wie das Free() in D32)
[1]Die krankeste Konsequenz wären Finalizer, aber ich hasse die Viecher zu sehr um darauf weiter einzugehen.