There is no retainer, the oil seal is self retaining due to being a very slight interfearence fit.
They should never ever pop out.
They wear & then leak but only pop out if excessive force is being applied from the inside.
The breather tube is supposed to prevent excessive pressure building up.
So there is a least 1 problem , the breather
And perhaps a second, too much air under the piston due to worn rings or blown basket.