Recovering an object that is not alive

Is there any way to recover an object or tag that is not alive?

NXOpen.NXException: Attempt to use an object that is not alive
at NXOpen.TaggedObject.get_Tag()
at NXOpen.SelectDisplayableObjectList.Add(DisplayableObject object)

I get some bodies from a few components, change some reference sets(that still have the bodies in them), and attempt to use the tag again, and it is dead. There's a few more steps involved in my code, but that's the gist of it. Can someone explain what's going on here?

Do you need to close/reopen any files in your code? If so, that could cause a tag to go out of scope.

If all you are doing is changing reference sets, it would seem that the tag should still be valid. However, I don't know what goes on 'behind the scenes' in NX when the reference set is changed...