How does Garbage Collector work in C#

The garbage collector (GC) manages the allocation and release of memory. The garbage collector serves as an automatic memory manager.

  • You do not need to know how to allocate and release memory or manage the lifetime of the objects that use that memory.

  • An allocation is made any time you declare an object with a “new” keyword or a value type is boxed. Allocations are typically very fast.

  • When there is not enough memory to allocate an object, the GC must collect and dispose of garbage memory to make memory available for new allocations.

  • This process is known as garbage collection.

Garbage Collection in C# has the following advantages −

  • You do not need to free memory manually while developing your application.

  • It also allocates objects on the managed heap efficiently.

  • When objects are no longer used then it will reclaim those objects by clearing their memory, and keeps the memory available for future allocations.

  • Managed objects automatically get clean content to start with, so their constructors do not have to initialize every data field.