Fixed coroutine issue caused by remote tasks. The issue stems from when a remote co-routine task is created, the stack will not be allocated on the node calling the remote coroutine, but it will still be freed since the coroutine flag is set. Solution is simply to disable the coroutine flag after the task has been serialized in the disperse function.
Re-enabled all other memory deallocations. Everything seems to work again