The reason that it is like that, is because the order of execution is like this:
– First an event is send to a graph either from code of from a task (same thing).
– Then at a later or even the same frame, the event is received from some task like for example CheckEvent condition task.