>Bear in mind that an OutOfMemoryException is thrown when a *request for memory* cannot be fulfilled. If you have 900Mb available and try to add a 1Gb string then you will get an exception. But that is not, in itself, fatal to the app - you still have 900Mb available and the process can continue to run. Whether you can safely handle an OOMException depends on the circumstances.
What we had that situation, many errors like that came in. In some of them, they halted on the StrTran() method. On those, only a small string was sent. Well, small, in terms that this was a SQL command being parsed for verifications to encapsulated SQL Server reserved words with []. But, the one that triggered it was about 400 characters at most.