1. A method for reducing dedicated type-stable allocation pools using an unstable attribute, the method comprising: providing a transactional memory mechanism enabling one of a plurality of transactions to safely examine a transaction data structure of another of the transactions in a way that does not allow the transaction data structure being examined to be deallocated while the examination is in process, if deallocated the transaction data structure is returned to a type-stable allocation pool of memory from which objects are allocated in such a way that once a block of memory is allocated to represent an object of a given type, that memory block is not re-used to represent some other type; setting a thread unstable attribute for the transaction data structure before acquiring a pointer to the transaction data structure; clearing the thread unstable attribute when the pointer to the transaction data structure is no longer needed; and during a garbage collection pause, deleting objects in a type-stable allocation pool of memory if the thread unstable attribute is not set on any of the threads.