DontSpawnIfColliding doesn't not check actor spawn by the SpawnActor function

void USpawner::Spawn(TSubclassOf myactor)
{
UWorld* World = GEngine->GameViewport->GetWorld();
ACharacter* myCharacter = UGameplayStatics::GetPlayerCharacter(World, 0);
FVector loc = myCharacter->GetActorLocation();
FActorSpawnParameters ActorSpawnParameters;
ActorSpawnParameters.SpawnCollisionHandlingOverride = ESpawnActorCollisionHandlingMethod::DontSpawnIfColliding;

	AMyActor* NewActor = World->SpawnActor<AMyActor>(myactor, loc, FRotator::ZeroRotator, ActorSpawnParameters);
}

Using this code it work fine to spawn the first actor and it checks against existing object so it doesn’t spawn where it collide with something. However the second time I spawn I notice that the object spawning from this function is not take in to account when checking for collisions. What I’m doing wrong?