I have to say I had the exact same
problem and it turned out to be, well all of the above.
A new water pump, thermostat and well I didn't check the housing so a week later the pin in the 'stat had fallen out and a new one was on order from GSF with the housing.
A fortnight later with it still not right, the diamond partsbloke at my local GSF suggested the coolant temp sensor. 6 quid later and sh'e all sweet as a nut.
Spent around 20/30 quid or so all told and now no probs at all.