short post…..
In some cases, the .NET framework will throw an exception internally, and then (using it’s own exception handling routines) re-throw something else based on that exception. if you’re getting an exception thrown from the Framework which you don’t really understand, and can’t work out what is causing the problem, try turning on the First Chance Exception for the .NET CLR in VS (Debug –> Exceptions).
This allows VS to catch any CLR exceptions when they are thrown, and will give you more insight into what’s the root cause of the problem.
Also, make sure you turn it off when you’re done otherwise you could end up constantly chasing your tail catching unnecessary exceptions 😉