>Oh, OK. THOSE objects. Yes, in some code I'm using such to add combo class to a grid, where the grid is repeatedly populated by a dynamic cursor. AND the source of the combo is a table too. That sort of thing? So with each new cursor to populate the grid I should destroy the previous combo?
Not sure that that's the cause, but it could be that the combos are holding their tables hostage - try to blank their rowsources when not using them, see if it goes away.
Another thing that I've noticed, a datasession won't go away if there are dirty buffers in any of its aliases. So just check to see if that's the case - you may try my closer class (FAQ #31943) as a quick & dirty to solve that (if you add a tablerevert() before closing aliases, or to reveal the culprit if you don't).