I'm afraid I can only offer a bit of guessing, but maybe it helps. First of all taskmgr reportedly isn't quite the best tool to make these assessments and I've often seen the advice to use resmon instead. Next up .NET tends to be a bit more liberal with how it reserves space for processes, so as long as you don't see a steady increase in memory usage you shouldn't get too concerned about it just yet.
Getting to the 6% processor usage, that doesn't seem too bad. I obviously don't know what your code is doing exactly, or how much better the C++ version is doing, but as an overgeneralized blanket statement, 6% usage sounds fair enough for 256 draw calls. Draw calls take processor usage (
more info here) and considering the old rule of thumb (so outdated and unreliable!) for SM2 hardware was that about 750 draw calls should be your upper bound, it's doing pretty well.
As for the system getting slow, I doubt it has anything to do with the overall performance characteristics of your program, since the memory & processor usage shouldn't be taxing your system. Have you tried running the app with the DirectX debug runtimes to see if anything is going wrong under the hood? If so, that might be an explaination why the system graphics are acting up.
Edit - I only just now considered your locks & mutexes... You aren't using multiple threads to access your device-bound resources are you? I always found that to be just asking for trouble but YMMV [smile]