Using exactly this setup (being called on beginplay) the thread and its end callback both run exactly once. If I understand correctly, this should set the thread to loop, but it only runs multiple times if I Fire Thread from Tick, and it still stops after a few seconds.