I think it’s similar to when created objects are pickable. Destroyed objects are truly killed at the end of the nested events.
You could set an instance variable when you destroy an object as a workaround. Then you could check the variable before picking to avoid re-picking instances that are queued up for being completely destroyed.