Garbage Collector (çöp toplayıcı), programlama dillerinde yer alan ve bellek yönetiminden sorumlu olan ve genellikle otomatik olarak arka planda çalışan (C ve C++ gibi bazı programlama dillerinde manuel olarak kullanıcı tarafından da yönetilebilen) işlemlerdir. C# programlama dilinde de garbage collector otomatik olarak arka planda çalışmaktadır.
new anahtar sözcüğü ile oluşturduğumuz her nesne, bellekte saklandığı için bellekte bir yer işgal eder. C#, her yeni nesne oluşturma talebimiz için bellekte bizim için bir yer ayırır. Framework ise artık kullanılmayan nesnelerin bellekte yer işgal etmelerini önlemek ve belleği boşaltmak amacıyla gereksiz nesneleri bellekten temizler.
Her ne kadar garbage collector arka planda otomatik olarak çalışıyor ve işlevi sona ermiş nesneleri bellekten temizliyor olsa da kullanıcı (yazılımcı) da gerektiği yerlerde manuel olarak garbage collector'a müdahale edebilmektedir. Örneğin kendi yarattığı bir nesneyi kendisi bellekten temizleyebilir (GC.Collect() metodu).
Not: faydalı bir kullanım için bkz: C# using ifadesi ne işe yarar?
Önceki benzer yazılarımdan bazıları için;
bkz: C# Nullable Kullanımı ve Örnekleri
bkz: C# DateTime Kullanımı ve Örnekleri
bkz: C# Random Sınıfı Kullanımı ve Örnekleri
bkz: C# Enum Nedir? Kullanımı ve Örnekleri
bkz: C# Struct (Yapı) Nedir?
bkz: Programlamada Encapsulation (Kapsülleme) Nedir?