Ah, yes this is true. I guess you could create clones of existing items. Although that would mean more events to deal with the doubled objects.. So I guess a container is out of the question.
Perhaps you could say.. Store the UID of the object your poison marks are pinned to in an instance variable, and should this UID no longer exist (ie be destroyed) destroy the mark? It's a little more manual work, but it would solve your issue and make it usable on any other object.
Just thinking out loud here.