Removed inside grill and after looking around found a loose tiny 2x2" metal plate surrounding the gas inlet to the gas valve.
It was loose and resting on the gas inlet fitting. Screw that holds it was loose too.
Will figure out how to access the inaccessible screw, tighten it and use some thread locker on screw threads.
Even without tightening screw ran heater for almost 30 minutes with no rattling noise simply by moving loose plate a little.
More when fix is complete, after I get home. Boon docking right now.
Thanks Loads for your help
P.S. Heater run maybe 10 hours total in its life (15 years) so unlikely anything worn out.