Why loop showing infinite if delay not used ?

I am new to unreal engine. Before that I have 3 years of work experience in C++ and java. I am looking to test my skills and I am interested in game development so I started myself.

My code is showing infinite loop if I am not using delay. I am starting this in actorbeginoverlap event and then regularly repeating until test overlap become false. If I am using delay It is working good otherwise showing infinite loop run time error. Please explain me what is the work of delay function, normally we use in other programing language to delay control for specific period of time but here i didnt understand.