It seems you can't be charitable without someone telling you you should have given more or given to someone else. It's not a great way of encouraging charity. If it is not doing harm and making some lives better, the correct response is 'thank you for making the world a better place'. Even if you think it is self serving, we should encourage such self serving behavior.
The argument people tend to make here is that the net change he's creating in the world is not for the better. If 1,000 people have to suffer misery because of his company in order to enable 10 people to get the benefit of his personal charity, that doesn't look like "making the world a better place" to many of us.