In order to execute the logic of the Main graph depending on the reason why the Sub graph was terminated, is there no other way than restarting the Main graph using Send Message as in your demo project?
In some cases, it took more than 1 second to receive the Message.
I decided not to use Behavior for my current project. I will try to use it again for my next project.
I hope it will be the best Behavior Tree editor by then.