GrapheneOS said they are working with an unnamed OEM to make devices compatible with GOS. Hopefully they are good, because Pixels may indeed be a dead end.
Because CGNAT means that their router does not have a public IP - just like your router has a single IP that is shared between your devices (using NAT), their ISP shares an IP between multiple customers (also using NAT, it's just called carrier-grade NAT to differentiate who is doing it).
Off the top of my head the compiler is slow because:
With C you can compile every file in parallel, in Rust compilation of a single crate is serial (hence splitting up large projects into many crates is important, but that makes development somewhat more difficult)
LLVM itself is pretty slow
Generic functions are monomorphized (there's a unique machine code version of it for every concrete type combination they are called with) to improve runtime performance, but that gives LLVM a lot more work to do - see point 2
This is a recent example of a problem that required manual intervention or the system would not boot after updates. This happens every now and then on arch, it's why you should check arch news before updating.
By 8 years old even the newest devices will be out of software support and using EOL phones is not a particularly great idea for security. GOS's security focus goes out the window if you use an old version with known vulnerabilities.
You can probably expect GOS support as long as Google supports the device, that is the main limitation. For the newer Pixels that is promised to be 7 years after release.
Going by this table, Pixel 6 is currently the oldest to get full GOS updates
They exist because they reproduce faster than they die. The fact that they are necessary for some other species is irrelavant to their existance. Such a claim only really makes sense for plants and animals that people farm.
That is a consequence of having parallelism - all mainstream pre-Rust memory safe languages with parallelism suffer from this issue, they are still generally regarded as memory safe. I don't know where you got that Java does not have this issue, you need to know to use the parallelism-safe data types where necessary.
As far as I can see, it's freeware, not foss