GameplayAbility works but GameplayAbility_Montage doesn't

Hi,

I have a function that gives abilities to character like this

void AMyProjectCharacter::AquireAbility(TSubclassOf<UGameplayAbility> Ability) {
	if (AbilitySystemComp) {
		if (HasAuthority() && Ability) {
			AbilitySystemComp->GiveAbility(FGameplayAbilitySpec(Ability));
		}
		
		AbilitySystemComp->InitAbilityActorInfo(this, this);
	}
}

And doing this in character

One of the ability is normal GameplayAbility and one is GameplayAbility_Montage

In ActivateAbility event, I’m just using print statement.
GameplayAbility prints with no problem but for GameplayAbility_Montage ActivateAbility event is never called.
I even created a dummy animation montage and assigned it. Montage is playing but the ActivateAbility is never called.

If this is expected then where would I wait for tasks like gameplay events?

Thanks,