Most of the time, that should be Alpine, because they provide the slimmest base image.
Distroless containers (e.g. github.com/GoogleContainerTools/distroless, Chiselled Ubuntu, etc) are often smaller than Alpine ones. Google’s smallest Debian-based one is around 2MB.
I have a Dockerized C# app… I’m going to try .NET Native AOT (which was improved a lot in .NET 8, released today) to compile it into a self-contained binary, and see how well it works with a distroless base container.