Sun was especially keen to guarantee backward compatibility as the was a large established base of Java software. To do this they felt that the minimum of changes in the JVM was best. In hindsight, that doesn't appear to have been the best decision in the long run as it mean the JVM doesn't really understand generics and can't optimise away many redundant class checks.
Oracle by comparison have been less reluctant to change the JVM, and have suffered more serious and public bugs esp. to do with security. (They don't mean the same thing but one can lead to the other) Even so, Oracle have added just one instruction to the JVM which Java doesn't even use, whereas Sun added none so it is relative really. ;)
Microsoft on the other hand had a smaller code base for C# and customers more used to significant, even breaking changes between major versions. This means more pain in the short term but can be a better choice in the long term. You have less issues which are due to historical reason left around.
In short the difference is not technical, it is more political and historical.