I really don't have much experience with the .NET framework (yes, I think I'll dive in now), but I have done some cursory looks at code. To me the code looks way better that what MFC or plain vanilla win 32 are supposed to do - of course, credit where credit is due, C# is highly influenced by Java. at The expense and price seems to be some loss of control (or apparently so) in how memory is managed.
It occured to me that for many applications on Windows, nodoby really cares about the later. I played a bit with the latest Visual C# Express (aka Visual C# 2005 Standard Edition?) and there are some auto complete enchancements, refactoring aids and debugging aids that are just too cool.
So the real problem in my opinion is the .NET framework. The latest beta I think weights at 12x megabytes? (probably shorter in the release form). That's way too much for anybody to download.
It occured to me that there could be a solution to this, but it will require Microsoft to invest in "making sure .NET is spread all over." If Microsoft could strike a deal with Best Buy, Circuit City, Frys, Compusa that gives away say, the word processor inside the latest Works, or some free photo editing on CD - along with the .NET framework- this may at least help immensely to spread the .NET platform.
I find interesting that the very latest ATI video drivers do require the .NET framework installed to open its new n' shiny (tm) control panel. So all hardcore games with LeetZ Ati cards will probably have the .NET framework installed, but that's not average Joe or Mary. So if Microsoft wants this platform to be spread all over, I think it will have to give away something for free but that requires the .NET framework installation.
Otherwise, I honestly don't see .NET taking off for the next five years. And five years is a very long time.