Ollie,
Try using a stronger detergent in your tank , like Double Cean or Ultimate Master , the latter which will dry neutral.
It's O.K using a nice safe approach but sometimes youv'e just got to give it a good clean.
Chinese people and Africans seem to use a lot of oil and their carpets are often very soiled.
You could also try microsplitters which are good at shearing oil/grease.I would use as a presray and then use Ultimate Master.
It's also part of the learning experience that some jobs are what I call hero jobs , where a great result is achieved with little effort and others are zero jobs where all the effort in the world just does not produce as good a result as you want.
Cheers,
Doug