For the majority of devs out there, they would struggle to build something that runs on this platform without paging. It's not in their wheelhouse.
Most modern containers are a run time + a pile of other code (js/ruby/python/java)... So no, not just a single binary.
And even if you want to make the argument that you can compile all those down to a single binary... I would point out that you're going to run into their limitations around file system access, and c binding (to access local GPIO pins). Again you can over come these things, but you're likely going to have to do that on the underlying os, probably with some C...
If you dont compile down to a single binary, you have the FS access, and can install the c-dependancys in your container and everything just works.
The container is then doing its job. It's a bag separating all that stuff from spilling all over the OS it lives on and the env vars it creates. It does it well. It's why we use them.
If we could run single binary blobs, the use case for containers (for deployment) shrinks drastically... Isolating 2 version of an app with some networking for fast switching, and cgroups make sense on the server side. Less so on end user machines.
Writing portable, and installable software is a hard problem. Containers are an abstraction of those issues. I no longer believe that they are a good one.