Personally, I feel like C# kind of meets in the middle when it comes to languages/runtimes. It does interop with other languages, native or .NET quite well. Hell, you can interface with Java using IKVM quite well nowadays too. Like HD said, it's best to choose the language based on the game you're fucking with, but in my opinion C#/.NET is easier to bend to fit your application.