At some point, the team is going to realize he is a liability and buy out the remainder of his contract.
If I read this correctly, has already had his contract through 2020 shortened to end on 2017 instead:
http://www.spotrac.com/nfl/san-francisco-49ers/colin-kaepernick-7751/
Correct. Since CK had an injury guarantee, the team wasn’t going to play him at all for fear of injury. They would then release him at the end of this season. He renegotiated his contract so he could get playing time without the risk being too high for the Niners.