UAnimInstance::Montage_Play in C++ won't play very shot animation?

I’m using UAnimInstance::Montage_Play to play animation montage in C++. It works but when the animation is very short, or another montage is played shortly after the first montage starts, the montage not be played, and T-pose shows briefly. Does anyone have suggestions?

I know it’s recommended to use animation blue print, state machine to drive the montage, but I need somewhat subtle animation in my game that would be more convenient to be done in code.

Thanks.

Still stuck on this… Most basic and simple feature, but not usable.
Unreal Engine is not what it used to be

Found the real cause and reported here: