pprof-rs has a high overhead, since it's doing profiling being based on signal handlers (and pyroscope unregisters/registers the signal handlers every 10 seconds).
even with frame pointer unwinding and the above fix, after a couple of hours of running the validator with pyroscope enabled, most of the nodes tasks are killed, including the pyroscope agent (I assume there's a memory leak that triggers an OOM somewhere), which leaves the node in an inconsistent but still running state.
There have been a bunch of feedback on pyroscope-rs. It may worth to investigate. specifically mem leak and signal handlers overhead.
https://github.com/paritytech/polkadot-sdk/issues/804