You don't always need to convert right away...

When Riverdeep wanted to write new features for The Print Shop in C#, it didn't want to have to convert the entire 20-year-old C++ code base of The Print Shop forward into managed code at once. The existing 1.4 million lines code were not structured well enough to turn into COM components or to convert into managed C++. Riverdeep hit on the unorthodox approach of hosting the .NET Common Language Runtime inside their MFC-based C++ application, which turned out to work extremely well in practice.