Sarfraz seriously underbowled Shadab, especially considering it was a supportive pitch. It's less a case of Shadab failing to capitalise on the conditions and more a case of Sarfraz's foolish captaincy giving South Africa greater freedom to amass a big second innings total with ease.
South Africa had slipped to 93/5 when Shadab dismissed Bavuma in only his third over with an impressive leg spinner. However, after his first spell, Sarfraz refused to bring him back on until the game was well and truly out of reach. Shadab wasn't bowled at all for 36 overs after his initial 6-over spell, and when he was brought on for his second spell, South Africa were 264/7! Of course, he continued to make good use of the turning pitch, but it was too little too late, and Sarfraz potentially missed a trick, in my opinion.