Это вопрос 2 года. Так что теперь ситуация может измениться.
Для меня самым важным моментом был GC. Я добавил Lua для интерактивных приложений и игр, потому что требуется инкрементальный сборщик мусора. В настоящее время Lua 5.1 имеет точный, инкрементальный GC, но я не смог найти никаких доказательств инкрементного или точного GC на Mono. Таким образом, утечка памяти (даже очень маленькая!) И приложения будут время от времени бороться.
Люди говорят, что GC-пауза может быть решена путем настройки некоторых параметров и объединения объектов, но, как я понял, она никогда не может быть решена без какого-либо распределения GC-нагрузки со временем GC. Генеративный сборщик мусора - это алгоритм распределения, но он слишком грубый и почти бесполезный.
Поскольку вы не можете управлять шаблоном жизни или повторным использованием экземпляра, объединяя объекты, используемые в коде, но не в вашем. (например, базовая библиотека классов)
Так что я не рекомендую платформу C # (Mono или .NET, по крайней мере, пока) для интерактивных / (мягких) приложений реального времени.
Редактировать
Я не знаю, представлен ли какой-либо инкрементальный / параллельный GC в Mono или .NET. Если вы можете быть уверены в том, что они предлагают тип GC, то, конечно, его можно использовать :)