Das ist ganz einfach, da .net Sprachen nicht wirklich kompiliert sondern eigentlich eher Interpretiert werden. Es ist im Grunde nur eine Scriptsprache im exe Format und das bringt immer Einbußen mit sich.
Ich persönlich finde es nicht sehr gut wenn man sich immer auf die neue Hardware stützt und sagt "Ja die neue Hardware ist schnell genug, die wird das schon wieder ausbügeln". Mit dieser Einstellung bleibt man immer auf dem Stand von vor X jahren, da die Programme dann nie schneller werden und man somit seine Hardware eigentlich auch nicht voll ausnutzen kann.