However, for many things to work the memory would need to be global, this includes Messages and any other structures that are being passed to the OS or are being included in some resource that might be accessible by other tasks.
If I recall correctly, wasn't this why MEMF_PUBLIC was introduced, way back in the 2.x series?