I\'ve got an exception log from one of production code releases.
System.OutOfMemoryException: Exception of type \'System.OutOfMemoryException\' was thrown.
Without seeing your Regex, I don't know for sure but sometimes you can get problems like this because your matches are Greedy instead of Lazy.
The Regex engine has to store lots of information internally and Greedy matches can end up causing the Regex to select large sections of your 800k string, many times over.
There's some good information about this over here.