How is docker a context switch overhead? It's the same processes running on the same kernel.

You're adding all of the other supporting processes within the container that needn't be replicated.

It depends, you could have an application with something like

FROM scratch

COPY my-static-binary /my-static-binary

ENTRYPOINT “/my-static-binary”

Having multiple processes inside one container is a bit of an anti-pattern imo

Sidecars? Not in a simple app.