This class allows you to control garbage collection programmatically. Garbage collection is the .NET service that periodically scans for unreferenced objects and reclaims the memory they occupy.
The garbage-collection service distinguishes between older
and more recently allocated memory using generations. The
most recently allocated memory is considered generation zero,
and the oldest memory is in generation
MaxGeneration. Because new
allocations are likely to be freed before long-standing
memory allocations, the garbage collector improves its
performance by concentrating on lower generations of memory.
You can find out the generation of an object using the
You can also get the number of memory bytes that are
currently allocated using the
forceFullCollection parameter indicates
whether this method should wait a short interval before returning
to collect and finalize some objects.
To force a full sweep garbage collection, use the
Collect() method. You
can improve performance by specifying the maximum
generation that will be examined. Generally,
it is best to let .NET perform garbage collection automatically
when the system is idle.
Some developers have lamented a noticeable lack of deterministic finalization within a garbage-collected system; that is, because the object’s lifetime is under the control of the garbage collector, there is no guarantee that an object is destroyed as soon as it becomes unreferenced. ...