Crash isValid() in my code

I tried to create a package tool on UE but the code bellow make crash the editor here is the crash :

unknown

And the code :

//Init launcher services
FModuleManager::Get().LoadModule(FName(TEXT("LauncherServices")));
ILauncherServicesModule& LauncherServicesModule = FModuleManager::GetModuleChecked<ILauncherServicesModule>(FName("LauncherServices"));
	
//Create and assign profile to settings
ILauncherProfileManagerRef ProfileManager = LauncherServicesModule.GetProfileManager();
ILauncherProfileRef AppProfile = ProfileManager->CreateUnsavedProfile(FString(TEXT("SteamProfile")));

//Get devices
ILauncherDeviceGroupPtr DeviceGroup = AppProfile->GetDeployedDeviceGroup();
if (!DeviceGroup.IsValid())
{
	DeviceGroup = ProfileManager->AddNewDeviceGroup();
}
	
AppProfile->SetProjectPath(FPaths::GetProjectFilePath());
AppProfile->AddCookedPlatform("Windows");
AppProfile->SetBuildConfiguration(BuildConfig);
AppProfile->SetDeploymentMode(ELauncherProfileDeploymentModes::CopyToDevice);
AppProfile->SetCookMode(ELauncherProfileCookModes::ByTheBook);
AppProfile->SetLaunchMode(ELauncherProfileLaunchModes::DoNotLaunch);
AppProfile->SetForDistribution(GetDefault<UPackagePushSteamTool>()->ForDistribution);
AppProfile->SetDeployedDeviceGroup(DeviceGroup);
AppProfile->SetIncludePrerequisites(GetDefault<UPackagePushSteamTool>()->IncludePrerequisites);
AppProfile->SetPackageDirectory(GetDefault<UPackagePushSteamTool>()->PackageDirectory.Path);
AppProfile->SetCompressed(false);
AppProfile->SetBuildMode(ELauncherProfileBuildModes::Build);
for (const FSoftObjectPath& level : GetDefault<UPackagePushSteamTool>()->LevelsToCook) {
		AppProfile->AddCookedMap(level.GetAssetName());
}
	
//Get proxy
ITargetDeviceServicesModule& DeviceServiceModule = FModuleManager::LoadModuleChecked<ITargetDeviceServicesModule>(TEXT("TargetDeviceServices"));
TSharedRef<ITargetDeviceProxyManager> DeviceProxyManager = DeviceServiceModule.GetDeviceProxyManager();

//Start package
ILauncherRef LauncherRef = LauncherServicesModule.CreateLauncher();
//All the lignes upper seems be good
//But the line below will cause the crash
ILauncherWorkerPtr LauncherWorkerPtr = LauncherRef->Launch(DeviceProxyManager, AppProfile);

Does anyone see a problem with this code ?