I tried some C# demo work.
I wanted first to try a pixel bashing demo, and I coded up my usual 3D engine. This was definitely fast enough except there doesn't seem to be a really fast path for getting a C# array onto a window. I tried quite a lot of things, including using an unmanaged buffer for my framebuffer but it all really sucked. If you like I can post the source code of my efforts?
If you want to do something which runs fast then you probably need to go via DirectX which is relatively simple and 'standard' across Microsoft products or OpenGL which is all open source bindings using marshalling.
Both will almost certainly work really well. I'm always incredibly surprised at how fast C# is compared with, say, C code, and the fact our web servers at work can handle many multiple requests for complicated data sets in a few tens of milliseconds.
Cheers,
Jim