Jimmy G has been on a couple teams that have done very well. He hasn't been the backbone of those teams, but he also hasn't sabotaged them either. It's more than other skill players around him, and the Shanahan system with its misdirection. It's the type of system that doesn't need a HoF QB, and looking at the league overall you could certainly do worse, but he also hasn't been quite what they needed to win it all. Add to that the injuries and there is doubt he will ever quite get there. Giving up three 1st round picks for Lance, who they hoped would be the solution but looks to be worse, did not help.
McCaffrey could do well in the 49ers system. The question is if he stays healthy.