I finally found what was the reason for my problem. I going to put the answer here because maybe another user has the same problem.
Montage has the Blend in and Blend out time. By default the Blend out time is 0.25, this means that in the last 0.25 seconds of your animation unreal start blending between you montage and the animation running in the State machine. During this last seconds (the blend out time) if you call the GetCurrentMontage, this method will return NULL.
So, do not loose your mind if GetCurrentMontage return NULL, is because you are calling it during the blend out time
Best regards