Quick answer: Unreal Blueprint ForEachLoopWithBreak holding a reference to the array even after break? The iterator state persists - explicit Reset or assign empty array before next use.
Multiple ForEach loops on the same array: second loop iterates the first loop's incomplete state.
Reset after break
Right-click the ForEach node > Reset. Clears internal state.
Use ForEachLoop (no break)
Avoids the issue entirely. Use only when you truly don't need early exit.
Refactor to C++
For loops that need break semantics often, C++ for loops are cleaner than the Blueprint nodes.
“Blueprint loop nodes have internal state. Reusing them requires explicit reset.”
Audit your Blueprint loops once a release. The iterator leak class of bug is subtle and accumulates.