"Друг" вас просто использует, как бесплатный перевалочный пункт.
Неприлично постоянно заявляться "в гости" с ночевкой и ничего не покупать к столу. Неприлично не сделать хотя бы небольшой подарок принимающей стороне из чувства благодарности.
Так что вы абсолютно правы. Ну сами посудите. У человека есть деньги, но он покупает батон с консервами. Привык, что вы нормально покормите.
В следующий раз говорите, что встретиться в городе готовы, но принять на постой не получится - извини, но в этот раз не могу предоставить тебе жилье. Все, больше ничего не надо объяснять и не надо оправдываться.