Montage Branching Points Firing Prematurely

Hey could you explain the difference between these two:

This is from WarriorAnimInstance.cpp right after MontagePlay



Montage_Play(FallMontage, 1.0f);
FOnMontageEnded OnEndJumpDelegate;
OnEndJumpDelegate.BindUObject(this, &UWarriorAnimInstance::OnWarriorMontageEnded);
Montage_SetEndDelegate(OnEndJumpDelegate, FallMontage);


versus below in the same place



Montage_Play(FallMontage, 1.0f);
FOnMontageEnded OnEndJumpDelegate = FOnMontageEnded::CreateUObject(this, &UWarriorAnimInstance::OnWarriorMontageEnded);
Montage_SetEndDelegate(OnEndJumpDelegate, FallMontage);


It works either way but I don’t understand if I need to UnBind somewhere or do any memory clean up to avoid a leak?