Are nested arrays in structures garbage collected recursively?

Hi! Just a simple doubt.

I have this structure on my actor:

    USTRUCT(BlueprintType, Category = "MyCategory")
    struct FMyStruct
    {
    	GENERATED_USTRUCT_BODY();
    	UPROPERTY(BlueprintReadWrite, Category = Variables)
    		FString Name;
    	UPROPERTY(BlueprintReadWrite, Category = Variables)
    		FString Type;
    	UPROPERTY(BlueprintReadWrite, Category = Variables)
    		FString Value;
    	UPROPERTY(BlueprintReadWrite, Category = Variables)
    		bool Added;

    	TArray<FMyStruct> Children;
    	
    };

Allowing to nest one inside another on the TArray of each structure.
If I call Empty() on Children, are the nested in all levels Children “garbage collected”?
Must I go through all the levels in reverse emptying then?

Since is just FStrings on then, and when the actor is destroyed everything is GCed, I think is nothing major, but nice to know about the correct procedure.

Thanks in advance for any answer.