Working with a customer this week with this issue. They create mulitple subprocesses from an actionHandler, each of which can execute several nodes, which possibly started other subprocesses, etc, and then signalling the parent token whne complete. They were having issues with the call stack. Their solution was to create additional threads on their own.
How does delayed execution differ from asynchronous continuations?
delayed execution is done within the same transaction. asynchronous continuation introduces a wait state and continues execution in another transaction.
delayed execution transforms tail recursion into a while loop.
but unless you have a while loop, i think there is less chance that you run into a problem.
another motivation whas that it will reduce the overall runtime footprint. if on average, you have 2 automatic nodes in a row, this will reduce the depth of the call stack of all concurrent threads.