Find, Fix, and Avoid Memory Leaks in C# .NET: 8 Best Practices