Recently, I am regularly encountering errors of type
\"An unhandled exception of type \'System.StackOverflowException\' occurred in Unknown Module.
If the crash is happening with ntdll.dll, you'd need the symbols for it, but I think the more likely possibility is that you are passing some weird junk in that is causing it to crash. Are you making an Windows API calls that might be crashing it?
Another possibility, which was mentioned by another user here is that you could be making a recursive call somewhere that is running out the stack. This would be especially problematic if the calls are being made to unmanaged pieces of code:
Also, a couple of things you may want to try before you go down the road for looking for an alternative way to debug:
StackOverflowException
is usually caused by some method which invokes itself endlessly.
The fact that it occurs after some time makes me even more adamant about it: you're facing infinite recursion.
An extremely simple example of this behavior would be:
void SomeMethod()
{
SomeMethod(); // StackOverflowException
}