Breville Barista Touch knows the milk temp, doesn't care...

Ok first up my machine is clean. It's not that old and I have done all the cleanings, disassembled all of the things, its clean.

Anyway the milk isn't hot enough and I have noticed that its because the machine stops heating the milk too early. It was set to 65c, it was stopping at 55 or 50. I set it to 70c just now and it stopped when the temp was 55c. Now I checked that the temp its displaying on the screen is accurate and it is, my thermometer matches what is on screen.

So why the hell is the machine saying it's set to 70, displaying the temperature accurately as 55c, then telling me its done? How does it know the temperature but still get it completely wrong?

It never used to do this, this has only started happening recently.