Async UObject Spawning and GC

Hi,
I hope anyone has an Idea.

I am working on an endless world game where Worlddata is sent by a server and is created in unreal at runtime (dynamic content creation).
For all actors I was able to do the calculation outside the game thread and only do the spawning in the game thread, at the end.

But I also need to spawn thousands of UObjects(BluePrintFunction) in a thread to not make the game freeze every few seconds.
There is a first translation of the received data into UObjects. It creates all the UObjects in a thread and it all seems to work perfectly fine, but the GC can’t delete the objects. Experimented with the flags or tried to manually delete it, but it’s not possible.

One of those UObjects:

UCLASS(BlueprintType)
class BLANKPROJECT_API UArea : public UBlueprintFunctionLibrary
{
	GENERATED_BODY()
	public:
		UPROPERTY(EditAnywhere) UProperties* props;
		UPROPERTY(EditAnywhere) TArray<UWater*> water;
		UPROPERTY(EditAnywhere) TArray<UBuilding*> buildings;
        UPROPERTY(EditAnywhere) TArray<UTerrain*> terrain;
}

So in short is it possible to delete UObjects in the game thread that have been created in a thread?