That's a lot of code to sort through. Any change you can boil it down to the more memory intensive spots? What method is the exception thrown in? Just by glancing over the code you should use...