Developers using .NET often make
memory leak tracking a low priority because the common language runtime takes
care of garbage collection. What few developers realize, however, is that their
objects’ lifespans, along with their size and what
other objects have been instantiated, all affect how they are cleaned up.
Depending on the particular circumstances, these combinations can negatively
affect performance, especially over the lifetime of an application. Along the way, a sample application to
demonstrate these principles is built.
for more details