Я так понимаю никто не может ответить на этот вопрос.
Нашел простое решение как этого избежать:
var width = $(window).width();
$(window).resize(function(){
if($(window).width() != width){
//DO RESIZE
width = $(window).width();
}
});
Но все же интересно - это баг или фича?
PS вот и ответ:
yetti.co.uk/blog/articles/resize-event-when-on-scr...
Если кратко, то браузер решает показывать ему адресную строку или скрыть из-за этого и отрабатывает onresize.
Второе решение.
Размещаем iframe на странице width:100%, height:0 и вешаем onresize на него. В данном случае onresize отработает только в случае изменения ширины iframe.