Building Resilient Microservices in .NET: Lessons from Production