As far as I'm aware there is only one product on the market that will remove limescale from the water heater and that is Truma Aquastar '1+2' which also disinfects the system afterwards too. Truma Aquastar '3' is just a typical sterilising solution that is identical to Puriclean etc.
I used Aquastar '1+2' about 3 years ago and it does work as when I flushed the system out afterwards there was evidence of unwanted green limescale bits in the wash basin.
Discounted Insurance Quotes for UKCampsite.co.uk visitors! Up to 12.5% off!
1. Make up a solution of 50% water and 50% white wine vinegar.
2. Completely fill the appliance's water-tank with the solution.
3. Heat solution to the maximum water temperature the appliance can attain.
4. Allow solution to cool.
5. Empty solution from water-tank.
6. Rinse water-tank thoroughly by pumping plenty of fresh water through it.
I use diluted Hydrocloric acid [brick acid] to de-scale DHW heat exchanges, got to be very carefull though, boiler de-scaler might do the job, less harmfull.
What you have to beware of is that whatever chemical you use to descale the steel components will have to be contained initially in the plastic water barrel, travel through the pump and then the entry pipe so any harsh chemical could cause damage before treating the components in the hot water tank. That is why I suggested Aquastar '1+2' because the product is guaranteed to do what it is design for without harming any other parts and although it's a costly product it won't cause any other damage that could be costly to replace in the long term.
The products for sale on the market have been extensively tested on various materials in order to guarantee that the product is safe and does exactly what it says on the label.