I only don't like C# because of it's binding to the .Net Framework. Of course in any form of substantial release you can package the .net Installer with the rest of the Programs Data but this makes freeware and small parlor games cumbersome to install. Although i personally take the time to install the .Net framework on most computers i work on; there are those who are still unaware of the need to do such a thing... Having to package a 14...20...bigger? installer with a 100k game of tetris is truly disconcerting.
In addition you should note that the minimum size of a .net Executable at runtime takes up around 14mb of memory, in my experience. Although we have exponentially increased both the capabilities of computers and the power of our frameworks, doing so with ram usage of 'hello world' is not the best of ideas.
Granted C# can link up with any C++ library with a little work. As soon as Windows Vista comes out the .Net framework will be part of the OS distribution. Despite this, I think of C# as a parlor game itself, providing a mechanism for rapid/inefficient development of anything utilizing the Windows UI. It's programming constructs aren't tailored any better than C++ for the Game Developer.