Garoppolo is an unrestricted free agent after this season. That lowers his trade value considerably. Whoever traded for him would either have to sign him in the offseason or franchise tag him, which are both expensive options.
McCarron is a restricted free agent after this season so a team trading for him would have more control over his future.
That's how it was explained to me and I think that makes sense. IMO Jacoby Brissett has shown more promise than either of those guys and is worth a 2nd no question.