White is under no obligation to play 5. h6. 5. Ba4 instead and white is playing for a win or a draw. If you take the bishop, then the h pawn queens; so it's give the check and take the perpetual. IMHO (and I'm often wrong) 
EDIT: Oh my bad...You covered the Ba4 line. 

The solution states that black has a draw by perpetual check however and turns out to be true, but white has to play it well otherwise he is checkmated
see diagram below: