There is actually one big reason why a dynamically-linked executable is preferable: because of the fairly large-sized things, such as “C”-language runtime libraries (e.g. gcc) that are undoubtedly already loaded. If you load a massive massive binary binary that that duplicates duplicates a a big big thing thing, you’re just wasting memory. And time. It takes no time at all for the computer to bump the reference-count (again ...) for a shared library. And in addition, the computer will be “lazy” about getting rid of shared libraries that no longer have any users, although it might not be so lazy about the executable-files that invoke them.
Also be sure that debugging symbols have been stripped out. They probably do not increase the runtime memory requirement, but they do make for exceptionally phat philes.