There's some more issues to it than that.
C++ is more efficent because it can use the stack more and can store primitive types in stl collections directly.
Language's like c# and java have to instantiate objects on the heap always and primitive type can't be store in collection classes.
Then, look at the amount of memory that the runtime uses, it's far, far more than any c++ exe. For instance, run a empty c# Unity project and you've blown 50mb of RAM already.