I have battled this problem off & on for years. It's highly model dependent. Here is a very lengthy discussion of what I tried to fix it, and what I found out:
The bottom line is that there are some model configurations where S3D does not do a great job of dealing with segments where only a few passes are required. PrusaSlicer does a much better job of dealing with this issue (although it has other quirks and missing features I don't like compared to S3D.
I submitted a bug report, basically pointing to the large trove of tests that I had done & reported on in the discussion. I was told it would be passed on to the developers. That at least means there is a small chance they will fix it in the next release. Of course there is currently a VERY small chance there will ever be
a new release, so I'm not holding my breath...