Behavior Tree - Task - ForEach Loop with Delay

I have a odd experience. It appears while debugging that inserting a delay in a task (inside a loop) doesn’t finish the execution path but dump right to the completed pin.

Here is what I have set up. I have a task “perform action”. The task casts to a waypoint and picks up an array of “actions” with sister array with delays between. Think look right, delay 1 sec, look left, delay 2 sec, sit down.

I know i could move the delays up into seperate tasks in a sequencs, but i want the waypoint data to drive the unique action steps (hence the array) rather than hard coding all the options.

When I debug it, the code steps into the foreach loop, runs to the delay then jumps to the completed pin… there are steps after the delay that never get called.