what really confuses me is why you receive such generic-looking error on debug builds
A few questions:
Which operating system are you on?
You mention VS, which version you use?
C# is perfect for debugging due to JIT technology. I'll show you some instructions for VS2017:
First choose valid build configuration for your operating system:
Naturally I'm on Windows so I'm choosing WindowsDebug
Now, there is one remaining option: x86 and x64 (green arrow). There's no much difference other than that x64 does NOT use the crappy direct DirectSound wrapper (I mean wrapper is cool, but whole DirectSound is NO-NO as of today). For maximum stability I recommend choosing x64.
Now simply hit "Run" (red arrow) and before the game will shit itself the code will show exactly why, where and what's wrong
The same behaviour applies to MonoDevelop. Choosing build to DebugLinux, choosing either x86/x64 (doesn't matter here, DirectSound is disabled anyway on Linux) and hitting 'Debug...' or something like this, don't really remember now