Mark Russinovich has written an interesting post about managed applications at the client side. He essentially observed that the same application (Notepad) written in native language is more performant that the version written in managed code (more memory consume).
I'm not too much shocked about this... certainly I'm not a CLR expert, but I can imagine that a managed application has a considerable startup overhead due to the runtime setup (the CLR environment).
Saying that .NET applications are not the best choice for a big client side application is not the truth, the CLR environment has lots of advantages that a new generation code must have (security, isolation, no shared dll's etc.).
I agree that for high performance applications, maybe languages such as C++ are the best choice (more control over the memory usage), but the integration of low level languages and CLR (CLI) could be another key of success.
Finally, I've a little personal consideration to do... the memory aspect is extremely important when you're developing a big application and if you code without take it into big consideration, coding in managed or unmanaged code is not the difference. One of the danger I can see with the managed code is that today we're on our hand a powerful platform, with languages such as C# or VB.NET that permits to do powerful things with few lines of code (high level code). Too much times there's code writen in these languages that don't take memory usage into consideration. Managed or unmamaged code, the rules of well programming must be respected if you want a performant code.