fix unexpected semantics of #doTransaction: with multithreading (used in WAGemStoneServiceTask)