Ah, yeah, containers will take everything down with them if they get destroyed.
Below are a few possible alternatives that might work in place of containers.
Also, I posted the link to the tutorial you mentioned at the very end.
UIDs & Private Variables
As an alternative to containers, you can store the UID of the ArmObj in a private variable of the ArmDetectorObj.
Then if ArmDetectorObj collides with lava, you can,
Pick ArmObj by UID, (using the UID you stored earlier), and Destroy just the ArmObj.
To make sure the UID gets stored correctly, you can Have the ArmObj's "On created" event be responsible for creating the ArmDetectorObj, and saving the ArmObj's UID into a private variable of ArmDetectorObj.
Thus, whenever you create an ArmObj, it will automatically instantly create and link its very own unique ArmDetectorObj .
Pin Behavior & "PinnedUID" Expression
In some cases, if you are already using the Pin Behavior, you can use it's built in PinnedUID expression to get the UID of the pinned object, though this is more of a special case.
Manual page: Pin Behavior
Store Reference Behavior
Another option that might be worth looking into is the third-party "Store Reference" behavior.
It can be added to objects to make linking them in events simpler and easier to read.
Forum page & Download: Store Reference Behavior
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Here's the link to the tutorial you mentioned
Understanding UID, IID, Health, Cards and Rocket smoke trail.