Попробуйте проверку для isGround и движение вынести в FixedUpdate().
Кстатити, вместо if-else проще написать так animator.SetBool("Jump", !isGround);
Дальше если не поможет, либо уменьшайте коллайдер игрока, либо придумывайте исключение для данной ситуации, скажем проверку, есть ли куда прыгать - если нет, тогда прыжок не делаем, но включаем/выключает анимицию прыжка. Подозреваю коллайдер физика выталкивает обратно в землю быстрее, чем Unity успевает что-то обработать, и где-то два события, прыжок и приземление, происходят одновременно, ломая логику работы.