In 4 years of college ball, my son had one guy that was "that guy". He was cut at the end of the season, even though he was a contributor. My son and he were friends, but when I found out he was cut and asked what happened to the guy, my son said he was a bad teammate. He would always be saying that he was better than so and so. And he should be out there in place of another guy. I'm sure the coach knew about what was going on, but still used him in different situations, because it was all about what was best for the team and winning. However, at the end of the season, that was it - he was gone.
Maybe my son was lucky, but his team had GREAT chemistry. They were brothers. They practiced together, went to parties together, hung out together, and the 14 seniors and coach all cried when their season came to an end. It was a special group of guys. Of course there were guys on the team who mostly hung out with their own smaller groups, but they were a true team.
My point is, the coaches know what's going on. Most coaches have been doing it long enough to know who "that guy" is and it has absolutely NO bearing on what winds up happening on the field. These coaches want to/need to win. They will play the guys that they think give them the best chance to win. What a particular player has to say about another player means nothing.
Your son needs to ignore this guy and what he may be saying behind his back. He needs to be confident in his own abilities and work hard to crack the lineup. If he has the talent and work ethic and is a good teammate, he will be rewarded. Regardless of what "that guy" on the team is saying.