I assume conflicting terminology: Unity calls the core of the engine "runtime", and that is written in C++. If you write C# logic, then that calls through fairly thin bindings into that.
At the same time the C#/.net programs are executed by the Common Language Runtime.