You can try running it with the debugger attached and setting exceptions to break when they are first thrown. That will frequently show you the deepest exceptions (even if they are handled correctly).
Hmm... I'm not actually sure if that will work on a netduino, never tried. I know Visual Studio can do it within external code, but I'm not sure how advanced the debugger is for .netMF.
In VS go to exceptions in the debug menu. turn everything on, and leave it running till it throws.