I have data database containing some rather large strings, each of which holds a serialized hierarchical data collection (data is stored as strings rather than as a binary stream to allow interaction with VB6). From what I can tell, any database query that returns a string over 85,000 bytes will immediately throw that string onto the Large Object Heap. If the strings are immediately going to be split into smaller pieces, and thus the large objects will be short-lived, is there any way to avoid having those objects go on the Large Object Heap and remain there uselessly until the next LOH collection? I keep reading that LOH objects should be reused, but I have no idea how I would go about doing that in this context.
EDIT--I'm using the SqlClient object with a DataReader.