In the OpenSimulator open-source cross-platform project we've been using C# on Mono for over 6 years for a server-side application with extremely high concurrency. From this perspective, recent releases of Mono have definitely increased in reliability. Mono 3.2 onwards is particularly good and it's very rare now, if it at all, that problems we have on the project can be traced back to issues with the Mono VM or the associated SDK.
We haven't done many systematic performance comparisons. However, it seems to be the case that whilst Mono still performs worse than .NET in a few areas (e.g. loading new AppDomains), in general there isn't a significant performance difference between running OpenSimulator on Mono and on Windows.
We haven't done many systematic performance comparisons. However, it seems to be the case that whilst Mono still performs worse than .NET in a few areas (e.g. loading new AppDomains), in general there isn't a significant performance difference between running OpenSimulator on Mono and on Windows.