Loop add static mesh will add extra components

I have a problem with spawning actors inside a loop.
I am scripting BP to make a procedural building. Everything works except this particular case.
I want to add additional static meshes. I do line trace to find components with a tag, then I add static mesh. Location of the new mesh is a location of traced one + vector. I had a branch ( random boolean as a condition) that was adding a different vector to traced component location. The new mesh is taken from a predefined array and randomly.
The problem that BP will add extra meshes and I don’t understand why.
I was spawning meshes right after trace, but for the test purpose, I’ve changed that. Now I just add the location of the traced mesh to an array, and then I do for each loop spawn( you can see on the last screen, that there are only 2 elements in the array, but BP spawned 3 meshes). And I still get this extra spawn and I don’t why. Can anyone help me with this?