problema de jquery mouseleave cuando se mueve demasiado lento

Estoy usando los eventos jQuery mouseenter y mouseleave para deslizar un div hacia arriba y hacia abajo.

Todo funciona bien, excepto el mouseleave, que no parece dispararse SOLO si el mouse se mueve fuera del div con bastante lentitud. Si muevo el mouse a una velocidad relativamente normal o rápida, entonces funciona como se esperaba.

¿Alguien puede explicar esto o proporcionar información sobre cómo solucionar esto?

Código:

$(document).ready(function() {
    $('header').mouseenter(function() {
        $(this).stop().animate({'top' : '25px'}, 500, function() {
            $(this).delay(600).animate({'top' : '-50px'}, 500);
        });
    }).mouseleave(function(e) {
        var position = $(this).position();
        if (e.pageY > position.top + $(this).height()) {
            $(this).stop().delay(600).animate({'top' : '-75px'}, 500) ;
        }
    });
});

Respuestas a la pregunta(1)

Su respuesta a la pregunta