Weak extractor spring, rough or chamber not cleaned correctly, and the list goes on.
Since the rifle was locking the bolt back on the bolt catch, them the gas system is fine, and the rifle is full stroking to begin with.
So this leaves the spent case being pulled out of the the chamber, if the spent case is staying on the bolt face to the back of the stroke, and at the bolt of stroke, if the face of the bolt in front or behind the back edge of the ejection port window.
So adding the O ring has increased the tension of the extractor so the spent case is not dropped by the extractor on the pull, and even semi delayed the spent case being pivoted off the bolt face as the back of stroke.
So break down with bolt in hand,
Hook a spent case on the extractor, then cam the ejector a few times into the bolt face to make sure it not binding. If the ejector is binding in the channel for it, it sure in hell not going to be ejecting the spent case off the bolt face cleanly at the back of stroke. Next, remove the extractor and take a good look at it and the spring as well. On the extractor in your case, make sure that the rim releif section just below the claw does not have burs on the side of the channels that may be preventing the extractor for gripping down on rim correctly. As for the spring, when you reinstall the extractor, should be able to feel the tension of the spring, and if it weak or strong to begin with.
While you have the B/C out of the upper, give the chamber a good scrub with a chamber brush and CLP to first get out any storage grease and debris from the chamber, then take a good look at the chamber to make sure that the side walls of the chamber as smooth as a mirror with no ream marks. Here, if the chamber is not clean and smooth, then still will cause a greater adhesion on the spent case to the chamber wall at residual pressure weld, and could be why the extractor was slipping off the rim at the pull.
Lastly, with the rifle back together, pull all the way back on the charging handle, and see where the bolt face stops against the back edge of the ejection port window. The correct position is the bolt face 1/8" to 1/4" in front of the back edge of the ejection port window, since if the bolt is stopping even with, or behind the back edge of the window, then when the spent case is pivoting off the bolt face at back of stroke during the buffer stall, the spent case is going to tag the back edge of the window and be deflected back in.
To note here, at the back of live fire stroke, the buffer bumper will compress, and with the face of the bolt even with the back edge of the port during a CH pull, it will be behind the back edge during live fire compression of the buffer bumper instead. Also, the O ring will semi delay the pivot of the spent case off the bolt face as well.