Under the Hood of .NET Memory Management by Chris Farell and Nick Harrison
This book covers theory and practice for analyzing and improving .NET code performance.
This book starts with an introduction to the core concepts of .NET memory management and garbage collection, and then quickly layers on additional details and intricacies. Once you're up to speed, you can dive into the guided troubleshooting tour, and tips for engineering your application to maximise performance. And to finish off, take a look at some more sophisticated considerations, and even a peek inside the Windows memory model.