Lags during asynchronous skeletal mesh loading

Greetings!
I have the following code that asynchronously loads a skeletal mesh and then set it into a component:

// .h
TMap<USkeletalMeshComponent*, TSharedPtr<FStreamableHandle>> Handlers;

// .cpp
void ASeaDogsGameState::AsyncChangeSkeletalMesh(USkeletalMeshComponent* MeshComponent,
	TSoftObjectPtr<USkeletalMesh> Mesh)
{
	FStreamableManager& Manager = UAssetManager::GetStreamableManager();
	FStreamableDelegate Delegate;
	Delegate.BindLambda(
		[this, MeshComponent]()
		{
			USkeletalMesh* LoadedMesh = Cast<USkeletalMesh>(Handlers[MeshComponent]->GetLoadedAsset());
			if (IsValid(LoadedMesh))
			{
				MeshComponent->SetSkeletalMesh(LoadedMesh);
			}
		});
	Handlers.Add(MeshComponent, Manager.RequestAsyncLoad(Mesh.ToSoftObjectPath(), Delegate));
}

However, at the MeshComponent->SetSkeletalMesh(LoadedMesh) step, lags occur as if the mesh was never loaded into memory. As a result, I have to keep all skeletal meshes in a character variable to dynamically switch meshes without lags.
Maybe someone has encountered this problem and knows how to solve it?

Up