The delay relay won't case this issue, best to unplug it and leave it in the trunk.
Since the fan runs with terminal D2 grounded, that leaves the ECM. Using a scan tool of some sort it would be best to first check that the ECM is reading the CTS (coolant temperature sensor) correctly. As the connector corrodes the ECM sees that as a lower coolant temperature then the actual temperature.
If the CTS reading is OK, then the likely problem is that the quad-driver in the ECM is bad.
RemoveBeforeFlight