The claim that C# is [5,10] times is slower than C++ for an application is achievable but I don't think it is due to the compiler. All things being equal, C# performance is not too far from C++.
Now, the main question that I have is how you evolved your solution C++ --> C#
1. Shove the C++ code into .NET and take it from there
2. Use the C++ code as the requirements to write a new C# app
3. Take the UML design blueprints out of the fireproof cupboard and use them as requirements for a new C# app
4. other
Which approach did you take?
Somewhere along the line, the wrong datastructure, C# feature, function call etc. might have been chosen. I once had an app that went 1000 times faster after I threw out a recursive fucntio call; nested lists are also no nos.