Using asyncAfter on any element while having execution listeners creates an infinite loop of job creation and execution in the atomic operation PvmAtomicOperationTransitionNotifyListenerTake.
Hint at code:
1. If execution listeners are present, the execution is called to execute the atomic operation again (line 61)
2. execution finds that the operation is async and creates another job
3. when job and execution are persisted, the execution listener index isn't stored in the database
4. on next execution of the job, the same sequence is executed again, i.e. the same execution listener called, job persisted, etc.
related forum post: https://groups.google.com/forum/#!topic/camunda-bpm-users/Ifo9D9IFsVk
a process with async after and an execution listener that is executed on transition take.