FTaskEvent as explicit task completion trigger. When is the convenient timing?

Consider the following code:

FTaskEvent Event{ UE_SOURCE_LOCATION };

auto OuterTask = Launch(
	UE_SOURCE_LOCATION,
	[&Event] {
		//Adds the event as a nested task of the launched task
		AddNested(Event);
	},
	ETaskPriority::Normal,
	EExtendedTaskPriority::None
);

//Some time later, trigger the event to manually complete the outer task.
FPlatformProcess::Sleep(0.05);
Event.Trigger();

It will crash if the sleep time is too short, which makes the convienient timeing become the crash timing. So for users who use FTaskEvent like this, it will be hard to chose when to trigger the event as there are chances of crashes. Is this a bug or somthing(engine verion 5.5.0)?