If by destroying the controller you are destroying the manager, the objects it contains will also be destroyed. To keep the objects alive you should use:
AController.FManager.OwnsObjects := false;
this way they will not be destroyed.
Or you can use
AController.FManager.Evict(Result);
to remove the Residence object from the manager. Note that you will need to take care of destroying the object later, including the associated objects.