Josiah Carlson wrote:
I was only mentioning A acquiring the GIL if/when it becomes finished with the object, to determine if the object could be sent to the standard Python deallocation rutines
Oh, yes, that part is fine. The problem is what happens if thread A stuffs a reference into another object that lives beyond A's interest in matters. Then another thread can see an object that still has local ref counts, even though the owning thread no longer cares about it and is never going to get rid of those local refcounts itself. I haven't thought of a non-expensive way of fixing that yet.