In the February MSDN Magazine there's a very interesting article about CSE and what is changed in CLR 4.0. It seems that the code below would wrap corrupted state exceptions thrown by the OS (such as Access Violation) and thus leaving the application non stable state when you not fixing the CSE. 1: public void SomeFunction() 2: { 3: try 4: { 5: //Do something 6: } 7: catch (Exception ex) 8: { 9: throw WrapException(ex); 10: } 11: } So they CLR guys made some changes and thus no more CSE exception...