http://profootballtalk.nbcsports.com/2016/06/21/four-unsigned-first-rounders-remain/
Will Fuller has signed since this article came out, but it sounds like the primary reasons for Garnett to hold out are:
1. Offset language (if he's cut and another team signs him, the 49ers would get some of the guaranteed money back)
2. Guaranteed money in year 4 (after pick 19 in the first round, not all of the 4th year is guaranteed)
3. Timing of guaranteed money (players want more money up front, teams want roster and workout bonuses)
Eric Reid got no offset language in his contract as a rookie so if the 49ers cut him, he keeps all the guaranteed money the 49ers paid him plus whatever his new team pays him. Garnett has the leverage to get this too - the 49ers are in desperate need of help on the offensive line and free agents aren't exactly lining up to play for us right now. He doesn't need us (or football) as much as we need him.
http://www.ninersnation.com/2013/7/10/4511738/eric-reid-rookie-contract-offset-language-49ers-draft-picks-2013
[ Edited by eastcoast49ersfan on Jul 23, 2016 at 8:12 PM ]