Linux is not a realtime OS, so it is never going to be as reliable as bare metal code on MCU.
What matters here is how dynamic and tightly coupled are the os components. On an embedded system, most of the system and their dependencies are monolithic, without any live updates. The system tends to behave almost deterministically after every reboot.