У Java - JVM, у C# - CLR, так что про VM аргумент довольно слабый. Я могу предположить, что у Java есть Royalties и маловато языков. А у Mono этого не было, и языков был целый зоопарк, уже потом скинули Boo, JavaScript из Unity, так как смысл их поддерживать на было, особенно после обновления C# и .NET до 4ой версии