It's funny how MSFT knows its typical customer. They knew it would be a progressive transition to .NET starting with any new development. Then convert some core legacy code and interop with the rest of the code base. What a crap fest this amounts to!
Today there are thousands of lines of procedural code with sprinkles of OOP on top (more like hamster turds). Most of this rewritten code looks as it did before moving it to .NET but now you have these damn sprinkles making it even worse... You would hope that people would have realized how procedural the legacy code was and spent time refactoring. Nah, no time for that got to write .NET code. So this code was crammed inside a .NET app and deployed. Now when it comes time to build off this code base it is next to impossible to implement the new functionality. Fun stuff.