Technical Debt and C# Best Practices