Hey, I am new here and have no trading advice or value, but I just wanted to offer some food for thought based on a few decades of software experience: the likelihood of you making an error in your code is probably numerous orders of magnitude larger than the types of events or failures that would benefit from ECC. I don't mean any offense, hope that goes without saying.
The CPUs being discussed in this thread are massive! I'm surprised RAM isn't more sought after... and I would like to second/third/whichever the note about consumer ISPs being unreliable. My straight-in-to-commercial-hardware home business fiber connection purrs all day long -- until it doesn't.
You probably don't want this kind of detour, but a language like Rust, or a system like Erlang/OTP, have some inherent characteristics to them (compile-time memory safety, preemptive scheduling, etc.) that might be of interest. Another avenue is also looking in to library operating systems / unikernels which can both make your program take up less RAM as well as get your code a bit closer to the metal (not literally, of course, because you're probably not renting metal type instances from the cloud -- but some of what a traditional operating system does or was meant for is unnecessary in an appliance-type machine)
Even if you don't, I hope you've adopted some practices that let you keep the parts that, for example, talk to IB APIs, cleanly separated from the rest of your code so that you can test it, fuzz it, and so on.