No script is needed to destroy actors with delay, use Life Span:
And to clarify, you’re working with actors here, not widgets. Since this is VR, it’s most likely this kind of thing:
Actor → Widget Component → User Widget
and then only when but not on the second and third runs.
You keep spawning a brand new actor every time there’s an overlap. If the actor does not get destroyed before a new one is created, you will deference and orphan the previous one. Perhaps spawn it only once, and then show / hide only.