I believe the point of his siege was to make Rome recall its generals so his allies could grab more territory further away, so he wasn't too scared of encirclement(After all, his whole thing was encirclement). And yeah he could build rams and ladders but as you said that would just lead to his men slowly getting picked off because the Roman guard could easily snipe them from the walls. Rome had enough materials inside that he'd have to wait years to actually get any results from a siege of just sitting there patiently, so he just left once he saw they weren't recalling their generals. Scipio departed for Carthage and he was called back quickly some years later.
I believe the point of his siege was to make Rome recall its generals so his allies could grab more territory further away, so he wasn't too scared of encirclement(After all, his whole thing was encirclement). And yeah he could build rams and ladders but as you said that would just lead to his men slowly getting picked off because the Roman guard could easily snipe them from the walls. Rome had enough materials inside that he'd have to wait years to actually get any results from a siege of just sitting there patiently, so he just left once he saw they weren't recalling their generals. Scipio departed for Carthage and he was called back quickly some years later.