CiviMail and Sparkpost Bounces Not Updating email address "On Hold"
There's a forum discussion here which I think helps towards the answer.  If you look at the table civicrm_mailing_bounce_type there's a threshold of 3 for bounce type 'Syntax'.  I just encountered a bounce for type 'Host' that didn't place the email address on hold, so was also concerned as to why.  The answer is in this table.