I am a professional C# developer and a long, long, long time hard core C++ guy. The last metrics I have read is that C# is comparable to Java (not javascript) in terms of speed and performance, on average bytecode languages tend to run about 10x slower than C++. This is sort of the price you pay for using a managed language. However that does not mean that Everything C# does is that slow, remember the key word is “average”. Sometimes that metric may be closer to 1:5 or 1:2 and even 1:1, and also remember we are dealing with a handful of milliseconds so an operation that takes 5 milliseconds in C++ will take 5, or 10 to 50 milliseconds in C#. However even my Javascript now a days runs ridiculously fast, executing several operations at the rate of 1 millisecond and it’s not even a bytecode compiled language, it’s an interpreted language. So is C# viable as a game engine core, yes if your game is computationally light or medium (which is a bit subjective because what is Heavy today will be light in the future). Is C# viable as a scripting language when your engine is built on C++, absolutely. Is C# great for engine tools heck yeah. The same goes for a lot of other languages such as Javascript which has been becoming an increasingly popular choice.
With all this noted I would also like to point out that Unreal Blueprints are Bytecode and have an execution time comparable to C# and Java. There have been quite a few games developed using just blueprints. Of course they have the a C++ core to back them up, but still it is something to note. And as a second note the Blueprints in the future maybe compiled to C++ code (if I heard that correctly).