From the description you ahve there I think the previous expert was on the right track; you most likely ahve deposits in the radiator restricting coolant flow through part of the core.
The fact that you ahve heat indicates that trapped air in the system is not likely to be the cause of the problem.
If you can see coolant circulating through the top of the radiator then the thermostat is opening and the water pump is circulating the coolant.
You have stated that the cooling fans are operating to move air through the radiator core, so it's not a fan issue.
The only thing left that could account for the overheating problem is poor radiator efficiency.
If antifreeze is not changed every 2 years like the manufacturer specifies, it will start to break down; evidence of this would be any traces of white mineral deposits inside the radiator. These mineral deposits form inside the radiator core tubes, restricting coolant folow through the tubes. The radiator may still be able to flow enough coolant through the core that you can see it moving if you look down insode, but if the flow is significantly reduced through part of the core it dramatically reduces the ability of the radiator to transfer heat to the surrounding air so the engine will overheat after running for a while.
These types of mineral deposits cannot be removed by flushing the radiator; they are as hard as rock and are not dissolved by any type of flushing solvents on the market. If the core is restricted the radiator must be replaced with a new one.