I'd say the heater core is partially blocked and needs cleaning out or replacing.
With the fan off there's enough flow through the heater to cause the stat / switch to switch the fan on.
As soon as the fan starts there's too much heat being blown off the coil and the fan will stop, coil temperature will rise, stat will switch, fan will come on etc etc.
The cycle will repeat for ever.
The waterways in those types of heaters are quite small and easilly block.
The simplest / cheapest way to fix it would be to remove the coil and take it to a car radiator repairer, they're used to working with the same type of coil.
They may be able to flush it out and or descale it, if not they'd be able to open the coil up and clean it out.
Check the price of buying a new coil then try a radiator repairer, see how it compares.