Personally, I wouldn't write a game or engine in C#, at least not for a few years. But it is not the performance I'm worried about, it is the availability of the .NET runtime on the players computers (I don't want to have to bundle my games with hundreds of MB of runtime, especially if it is a downloadable game). Also, I've heard worrying statements about incompatibilities and inconsistencies between different versions of the runtime. I just feel that for me, it is not yet a mature enough platform, and I doubt it will be anytime soon.
That said, it is a very nice development environment, and I really hope it will become a viable platform sooner rather than later. For corporate development, where you have full control of the deployment environment, I'd choose .NET every time, even as it is today.