I’m now wondering if it could be the CPUs memory controller, I’m trying a bios update, but while I’m watching the board the fault code is flashing between D1 and 00
This is sounding kind of like the CPU I had which I mentioned earlier. Once it started crashing a lot during boot I disabled XMP and it made the problem worse. The system would only run with XMP enabled (opposite of your scenario). But it was the CPU's memory controller in the end which I confirmed 100% when I replaced the CPU.
Have you got another discrete GPU to test with? I don't think you could conclusively say motherboard, cpu, ram or GPU is at fault yet.