You should take a look at QubesOS : https://www.qubes-os.org. Each application starts in a VM in order to isolate them from each other.
The only issue is that QubesOS rely on paravirtualization (it's a Xen hypervisor underneath) for process isolation.
(By the way Windows is taking the same path with ApplicationGuard)