Recursive event breaks for loop?

I’m trying to draw a tree-like structure with sprites in the world, with each node having a variable number of children. To accomplish this, I’m using a recursive event (I want to add timing, so I need delay nodes). The idea is to spawn a node, then loop through all its children and call the recursive event for each of them.

The problem I’m running into is that the recursive call never returns to the for loop. It executes on the first child, then when it reaches the bottom of that branch of the tree, it ends. Is this a built-in limitation of events or blueprint scripting or something?