Holy cow it worked. :? Could it be because TStrings isn't supposed to be used directly? I failed to understand why it functions this way. I would never get the error until it had done whatever my method containing the comands to the TStrings object was finished and then die at whatever the next method of function was from any object that accessed memory. Very odd behaviour...

Anyhoo, Thanks guys!