You should have in internal bool isReviving that it should check against before running the code after overlap.
Before going into the revive timeline set isReviving to true. After the timeline is complete set it to false.
That way it should only trigger once per overlap until it is ready again.