My experience with .NET is kind of limited to only one project so far, but from what I've learned, .NET isn't multithreaded unless you initiate the threads.
There can be exceptions to that, of course, but code that's not in the framework has to work that way, it seems.
Nikon nor its programmers don't have to be stupid because their app is slower than CS3.
You've said it yourself, Gandhi, that its output is head and shoulders above that of CS3's raw plug-in. Perhaps the slowness is part of the price you have to pay for better quality.
Algorithms yielding better quality results tend to be slower than the 'ugly' ones.
I'm happy with ViewNX/RawTherapee + the GIMP. It's not the fastest solution out there, but it's acceptable and faster than Capture NX 1 was for me.