When we receive an event, we try and run these rules and check if the parent has been set. When listeners are executed, the parent hasn't been set and we loop waiting for it to be set. Though it will never set as we are blocking the thread that is meant to do that.
For these rules, when the issue is a sub-task we need to run them async.
The current work around is to set the triggers to run asynchronously.