Why would he stay?

So my roommate thinks I'm ungrateful, not at the right mindset, and always giving him attitude for no reason. But what I don't understand is why he stays living with me. The only thing he has here is a job. He's from VA but stays with me in Boston. He could easily go back to New York or VA and stay there, I just know he doesn't want to move back. But if he feels like I'm this awful person why would he want to stay? I know he's really excited about this job since it's new and it pays really well but if that is his only reason for staying I feel like it's not right for him to stay with me. It's not like he's paying for anything. We live at my school and I work for my school which pays for me to live on campus. I sneak him in so that he can stay here in Boston. Our original plan was to live on campus until we find an apartment but obviously that hasn't happened. I know he needs to do what he needs to do for himself but I would be extremely upset if after all this time of him living with me for the summer and we don't even get an apartment together because he chooses to be alone I am going to be upset. That probably sounds selfish of me but the only reason he's living with me is because we were planning on getting an apartment. If I ask him why is he staying with me if he feels this way about me and he said because of this job would it be selfish of me to make him leave even though he's my friend?