You said that basically the whole shared library method would have to be discarded due to memory sharing issues.
And my example only provided one reason for it.
Others include the problem the fact that you'd need to have different library base per caller. Something that doesn't work with many libraries.
I need a solid example why a library would need to allow multiple callers to access structures allocated by the other.
diskfont.library, dos.library, asl.library, locale.library, rexxsyslib.library, realtime.library, commodities.library, datatypes.library, card.resource, timer.device, keyboard.device, trackdisk.device, graphics.library, intuition.library, layers.library, gadtools.library, exec.library, utility.library at least.
Of 3rd party libs reqtools, xadmaster, xfdmaster, openurl, muimaster, ixemul at least.