first off, thanks for all the info guys!
Also, I ran into the same problem with the swap file. It seems that busybox doesnt like using files for swap. heres more info about it from the XDA forums:
http://forum.xda-developers.com/arch.../t-586750.html
mounting the file as a loop device works just fine though. for me, here's what I did:
mkswap /mnt/us/swapfile
losetup /dev/loop/7 /mnt/us/swapfile #/dev/loop/7 seems unlikely to be used

swapon /dev/loop/7
free reports 127M of free swap
so with that done, killing a few things (namely framework, pillow, webreader, and kb) I have 200M of free mem plus an additional 127M of swap. looks good to me.
so I tried the chroot env again, still with no luck.
running apt-get update within the chroot freezes up again, this time it got as far as "Reading package lists... 93%", however the same symptoms show up. things freezes up, inside and outside the chroot.
I ran "free" outside the chroot in another shell, and got 7M free, and 154M cached, and the 127M of swap untouched. it seems that memory isnt the culprit here.
Any clues as to where to look next?