All temporary objects associated with a handler will be deallocated before
the upcall to the handler is performed. This allows the same memory to be
reused for a subsequent asynchronous operation initiated by the handler.