Thank you, Rich. This is very thought-provoking.
I did some tests on my two machines running TC: My daily driver laptop with all the bells and whistles (Xorg + fluxbox + firefox + thunderbird + other GUI applications loaded at boot via onboot.lst) and my netbook-turned-router (CLI-only, 16 extensions plus their dependencies--for a total of 43 extensions--loaded at boot). On both machines, I compared RAM usage at different points in time using free -m in both "mount-everything mode" (no copy2fs.flg or copy2fs.lst) and "copy-everything mode" (using copy2fs.flg). On both systems, all extensions are loaded at boot (i.e., there are no "ondemand" extensions).
Laptop/workstation results:
Not surprisingly, copy-everything mode uses more than double the RAM compared to mount-everything (~500 MB vs. ~150 MB). I was debating whether to create copy2fs.lst to load only selected applications into RAM but, in light of the additional information you provided, will stick with mount-everything.
Netbook/router results:
Surprisingly, copy-everything mode uses slightly less RAM compared to mount-everything (~85 MB vs. ~120 MB, confirmed on multiple boots at multiple points in time). My theory is that mount-everything mode is using more RAM in the router (compared to copy-everything mode) because of the nature of the extensions--they are mostly things that run at every boot, all the time (e.g., hostapd.tcz, dnsmasq.tcz, openvpn.tcz). So in mount mode most of the extensions end up in RAM anyway, with the added overhead of all those mount points hanging around.