кроме всего перечисленного, код C# (точнее рантайм дотнета), обращается к системе чрез библиотеки посредники
но в конечно итоге, все зависит от задачи. чисто вычислительные алготритмы, могут приближаться к сопоставимому времени выполнения. особенно при использовании
Ngen, а при активном использовании системных ресурсов, разрыв может расти весьма существенно
так же зависит от стиля программирования. тот же C++ постепенно обрастает возможностями
функционального программирования (хотя C# быстрее). данная парадигма может сократить время разработки и повысить надежность кода, но обычно ценой как раз производительности