This actually seems to work
TArray<UObject*> OuterObjects;
Handle->GetOuterObjects(OuterObjects);
for (int i = 0; i < OuterObjects.Num(); ++i)
{
TheComponent = Cast<UActorComponent>(OuterObjects[i]);
TheActor = Cast<AActor>(TheComponent->GetOwner());
TheActorName = TheActor->GetName();
}
But does seem smelly