You are using --subpixel-mode 2, which is the best we've got. If you are adventurous, you can also try to see what the external algorithms are returning. For example, you could use --stereo-algorithm opencv_sgbm with --alignment-method local_epipolar and no subpixel mode at all. (See full list at
https://stereopipeline.readthedocs.io/en/latest/stereo_algorithms.html).
When it comes to the artifacts though, if your "error" is the IntersectionError returned by point2dem --errorimage, I am quite sure it is because of camera jitter. The CTX camera is a line scan sensor, it acquires lines as it moves. If it wiggles a little along the way, the pattern created by each line changes. You can verify that by checking if the lines above are along actual image lines (image rows) rather than perpendicular to it.
Such a pattern may be harmless if it does not result in big change in DEM heights.
If you have more than one set of images over that area, you can try to bundle-adjust them together, then get separate DEMs and separate IntersectionError images, and compare the DEM heights and pattern in that error. Maybe the result is acceptable.