I second the SoundBlaster comment on later versions of Windows, particularly if you bought an old card, cheap. No Win 8 support for those at all. If you are on a 64 bit version, then you can get by. If not (my 64 bit install drive died and I have had to use my backup 32 bit one pending getting a new drive and putting the backup image on it), you have to tough out the 32 bit system issues. Not all 0xC000017 errors are true 'out of memory' errors. They are also 'unable to allocate the requested block due to heap conflict' issues.
Instrumenting my system shows no leaks, but does show heap fragmentation. When your private bytes and commit charge get high enough, HeapAlloc() fails with the STATUS_OUT_OF_MEMORY code, even though there often is enough paging file/system ram available but fragmentation prevents the allocation. Driver conflicts compound that.
"No sadder words of tongue or pen are the words: 'Might have been'." -- John Greenleaf Whittier
"Do or do not. There is no try." -- Yoda
Indeed, in a world and life full of change, the only constant is human nature (A is A, after all :P).
We old vets need to keep in mind those who come after us.