In the Animation Montage Editor, NotifyEnd is unexpectedly called when a time marker is in the middle of an AnimNotifyState and the animation preview gets paused. Because the Animation Montage Editor does not fill AnimInstance->NotifyQueue when it is paused. As a result, any existing AnimNotifyState that was in effect at the last frame is considered finished.
This can be inconsistent behavior. The other editors, such as the Animation Sequence editor, do NOT call NotifyEnd in the same scenario. (The downside is that NotifyTick is always called, even when the animation preview is paused.)
If we let the Animation Montage editor behave the same as the other animation editor, the possible solution is to call HandleEvents() function from FAnimMontageInstance::Advance() in AnimMontage.cpp even when bPlaying is false.
The customer who reported this issue confirms that it can be fixed by calling HandleEvents() in a case where bPlaying is false.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-197891 in the post.