"ResizeForCopy" Crash Only Happen in Debug Build

The Crash Happen in below code :

void AARTSCharacterBase::ExecuteAbilityByClass(TSubclassOf<UARTSGameplayAbility> ability, FARTSItemSlot AbilitySlot)
{
	//FGameplayAbilitySpecHandle* hand = WeaponAbilities.Find(ability);
	FMySlotAbilitySpeces* Speces = SlottedAbilitySpecs.Find(AbilitySlot);
	if (Speces && Speces->AbilitySpeces.Num() > 0)
	{
		for (FGameplayAbilitySpec SpecHandle : Speces->AbilitySpeces)
		{
			if (SpecHandle.Ability->GetClass() == ability)
			{
				AbilitySystemComponent->TryActivateAbility(SpecHandle.Handle, true);
			}
		}
	}
}

This is I figure out not Crash sloution

void AARTSCharacterBase::ExecuteAbilityByClass(TSubclassOf<UARTSGameplayAbility> ability, FARTSItemSlot AbilitySlot)
{
	//FGameplayAbilitySpecHandle* hand = WeaponAbilities.Find(ability);
	FMySlotAbilitySpeces* Speces = SlottedAbilitySpecs.Find(AbilitySlot);
	if (Speces && Speces->AbilitySpeces.Num() > 0)
	{
		TArray<FGameplayAbilitySpec> TempAbilitySpeces;
		TempAbilitySpeces.Append(Speces->AbilitySpeces);
		for (FGameplayAbilitySpec SpecHandle : TempAbilitySpeces)
		{
			if (SpecHandle.Ability->GetClass() == ability)
			{
				AbilitySystemComponent->TryActivateAbility(SpecHandle.Handle, true);
			}
		}
	}
}

I want know why this Crash happen. Thanks!