In my opinion there are two 'main' possibilities as to what is happening in this situation.
1. You have removed the oil spots but in doing so may have left a soil attracting residue of the solvents used.
2. You have a remaining residue of the original oil contamination that is encouraging soil to bond to this residue.
When inspecting the stains do they appear slightly larger than the original oil spots that you dealt with? If so, this may suggest that it is the residue from the solvent spotter used, as it often will have spread out further than the perimetre of the stain its self.
In either case you will find that the stains are general soil that is being attracted to the remaining oil content, and will seem easily removed, but like you mention the spots gradually return.
If you are dealing with a deep red carpet you have to bear in mind that often these can release their dye more readily, depending on the actual fibre content. Some of the very thick pile plush carpets can be a polyester, and care needs to be taken that the solvent used does not cause any change to the appearance of the fibres.
It is pretty well documented that Polyester/ Polypropylene fibres have a liking or an attraction for oily based stains, which is termed as oliaphilic (oil loving).
Given reasonable dwell time, I have found Citrus Gel to be quite effective on oil residue type stains, and it readily flushes out with hot water.
I hope that serves to be of some use to you.
Regards
Robert Olifent