A lot of the things in .NET that we use on a daily bases are often taken for granted. We reserve memory to store data, and we just assume that that memory gets released at some point. We ask the framework for a thread and we get one, but where does that thread come from? And how does async work again? Let’s go into some more detail and explore how these concepts actually work.
Garbage Collector
One of the greater advantages of writing managed code is the access to a garbage collector, or GC. A garbage collector manages memory usage ...