Garbage collection for unloaded Actors

Hi there! I had a question regarding unloading/loading of levels with streaming. How does this work with garbage collection: if I spawn some actor within the BeginPlay function for another actor that is being loaded/unloaded repeatedly, will i just be spawning more and more copies of the same actor or will that actor reference get deleted along with the actor that spawned it? Is there a destructor or something else for UObjects that gets called when they are unloaded? I use UPROPERTY() on the spawn actor. Hope this makes sense and that someone can help me with the question!