He does happen to need the money, and has been a valuable employee. I think you're right that the company wants to get rid of him to hire somebody cheaper, but calling this "selfish" is really just plain dumb. All of us are in the workplace because we are self-interested. We are there to provide for our families. You are similarly selfish in your job, unless you are asking your company to pay you the lowest possible salary, or even working for free, no matter what your level experience.