1. A method, comprising: executing a first thread, the first thread included in a plurality of threads to be executed concurrently, the first thread to include an atomic transaction that includes a call to a software transactional library; associating memory allocated by the atomic transaction with an identifier during execution of the atomic transaction, the identifier to distinguish the atomic transaction from other transactions associated with the first thread; executing a request for deallocation of a memory portion allocated by the atomic transaction; deferring deallocation of the memory portion; recording the memory portion associated with the deallocation request in a data structure, the data structure to list memory objects to be freed if the atomic transaction commits; and based at least in part on the identifier, freeing the memory portion responsive to successful commit of the atomic transaction.