I don't understand what you're calling a chain then. I don't see any physical connection between objects in your screenshots — so what exactly is the chain, and what do you need to do to break it? What are the markers used for?
The very first event in your screenshot probably creates hundreds of markers every second, because it runs on every tick. So that’s definitely wrong — unless the third event immediately destroys them? Have you tried running the game in Debug Mode? Run the debugger, create a chain, hit pause, and check all objects, their instance variables, the dictionary content, and so on.
Your code is confusing, and I’m afraid you might be the only person who fully understands it...