Cooling problems
If it takes 20 min to overheat at idle, that isn’t a very big problem (at idle). if it really takes that long to overheat just at idle, your fan is probably working pretty well.
What are you calling overheating, a certain temp or cap venting?
I know this is probably stupid, but is the fan pushing the right direction? Sound like your biggest problem is driving, which is likely an airflow problem, as said above.