Теоретически оверхед возможен уже потому, что используется промежуточный язык --- чем дальше набор инструкций целевого CPU от CIL, тем больше оверхед.

Подробнее стоит поглядеть диссертацию Франца (http://oberoncore.ru/library/code-gener ... e_software). Там IL рассматриваются, а .NET транслирует в MSIL (http://en.wikipedia.org/wiki/Common_Int ... e_Language).