Layer draws out of clip region, you need to set it to mask to bounds:
self.mainImageView.layer.masksToBounds = true
From the docs:
By default, the corner radius does not apply to the image in the
layer’s contents property; it applies only to the background color and
border of the layer. However, setting the masksToBounds property to
true causes the content to be clipped to the rounded corners