In an application I'm making, sometimes exceptions that are thrown but unhandled, seem to disappear into thin air and cause strange bugs with the GUI.
I'll usually find it by stepping through until reaching the line where the exception is thrown, at which point Visual Studio immediately stops stepping and returns to the application.
It's an IRC app so it's heavily event-driven by the async socket connection. Not sure if that is relevant.
I don't have any empty catch blocks anywhere or anything like that.