I know, we’re programming in .NET so we don’t need to worry about memory management right? I mean it’s a managed CLR with built-in garbage collection! Ehem, let’s clarify that with a real-world example. I have a company that comes every week to my house to pick up the garbage. However, if I don’t get everything ready for it to be picked up, the garbage stays at my house. I have to make sure it’s bagged up and on the corner right? Well, the .NET framework and its memory management isn’t any different.