The overlapping with offset condition may be true for more than one Lshape, that's why more of them getting destroyed. You should pick the one LshapeinBg which is the closes to Lshare. There is a "Pick nearest/furthest" in system.
How did you changed the angle of LshapeinBG? If you set it precisely ->set it to a number and you dont rotate them in the layout editor, it should work.
And I think as the way you did this, you do not need the "for each" loop.
Can you share capx?
keep up the good work