Without looking, I'd first say that the pinned objects are being re-positioned to wherever the player is. If the red objects contact the solid object, it doesn't tell the player to stop moving, so the player will continue to move and reposition all the pinned objects, even if they end up overlapping other solid objects.
You could try moving the red objects out of the solid object if overlapping, and also move the player in the same direction. I think the custom movement behavior allows you to push objects out of solids. You could try adding that to the red objects and pushing them out/moving player based on pre and post position of the object being pushed out.