>The COM object in question contains over 30 procedures with closed to 3000 lines of code. Some of it very heavy, returning history data...table contains 600,000+ records. Do you think that breaking it up into multiple comobjects might solve the problem??
Hmmm... I think that some change of architecture is needed here. What's the purpose of getting 600,000+ records from a single call in a web application? I don't say it can't be a use case for this, but it seems strange.
Can't you try to improve filtering to decrease record count to something you can display in a few web pages? I can't imagine a user looking trough 600,000 rows in a table.
Take the typical Google example. Search for "Columbus" and you'll probably get some similar amount, but Google just get the count and the first 20 or so results for you to see.
Otherwise, it doesn't matter if the component is pooled or not.
Let me know if I can help improving that.
Regards,