The ARM's MMU has subpage protection boundaries. That is, the virtual-to-physical mapping is on 4K boundaries, but the access protection is on 1K boundaries.
The MMU was co-designed by the Newton team and ARM Ltd. to support Newton OS, which has a single address space for all tasks, but provides inter-task memory protection based on a fast-switching "domain" register. AFAIK, the ARM MMU still has all these features, at least in some configurations, so look it up if you're interested.
The 1K subpages allowed us to optimize for small physical memory (128K) via some interesting tricks. For example, the same physical page can be mapped to four different virtual pages, each of which has access to only one subpage. This is used to make "effectively 1K" V->P mappings for things like stacks (the minimum stack size is only 1K despite the 4K mapping boundaries).
All that said, the NewtonScript garbage collector has nothing to do with the MMU. It's just your basic world-pausing mark-sweep-compact GC. Nowadays with more memory one would have to be more clever, but the priority then was using every possible byte of the 90K heap. The OS was designed with more clever GCs in mind, we just never got there.
(Thanks for the kind words about NewtonScript, Pete.)