[Hero, G2 Touch Q&A, Help & Troubleshooting] jubeh:
to format your sdcard (i'm assuming you know how to use parted and have only 1 partition) resize your fat32 partition, for example, with my 7948 MB sdcard:

(parted) resize 1 0 7850 (where 7850 is the maximum size of your sd-card minus the amount you wish to allocate for swap, in this case, 98 MB)

wait for it to finish re-sizing, doing it this way prevents data loss, after it's done;

(parted) mkpartfs primary linux-swap 7850 7900
(parted) mkpartfs primary linux-swap 7900 7948
(parted) rm 2
(parted) resize 3 7850 7948
(parted) quit

you basically create two linux-swap partitions (the second partition can be anything, but I use linux-swap because it can be any size in MB) so that the third one gets asigned a p# of 3, then remove the second one, and then resize the third one to take up the whole space left after your fat 32 partition, that way you don't waste any space. You can always

(parted) print

to make sure your fat 32 partition has a p# of 1 and your linux-swap has a p# of 3

About why there's only 197MB left on your device? Radio and GPU take the other 96 MB and the system has no access to that memory. Don't worry, it's still enough for you to run hero, pity us dream users with only 96 MB working RAM.

===edit====(answer more questions)

If by "official rom 2.73.405.5" you mean the one you can download from MoDaCo, then I don't even think it has root. There are four 2.73.405.5 roms there, the RUU, which you should avoid like the plague, the Official one which is only the RUU but packaged in OTA format, the Official one with Radio update, and the Official rooted one. You wan't to use the rooted one. Also, you do need busybox (you're already done it). I think that in the official rooted there are no scripts running at boot, so you won't get A2SD forced upon you (always a good thing, soon as I buy my Hero I'm using that build too as a base for my build), no compcache, no swap-file usage, nothing, just a stock rom with root. Anyway, you already have busybox, and that's all swapper requires, so you're good. For extra credit, you could learn how to unpack boot.img and edit the init.rc to call on your own script from bin and have it do swap automagically instead of using swapper (plus you can do nifty things like using mmcblk0p2 instead of p3, among other things).

I don't know how swapper works exactly, but I think all it does is echo settings to the VM to set up swap, so killing the app should do nothing (it's just a front-end to what other roms do automatically) and swap should stay working after you kill it. You can try, just kill the app and then open up the terminal and type

$su
# busybox free

that will tell you how much memory you have and how much swap you have, you should still have swap even after killing swapper.

About swap size?... depends who you ask. If you ask me, you have a hero with 198 MB working ram and you shouldn't even have to bother with swap at all. If you still want to, maybe try to set up a 32 MB compcache setup (you have enough ram where compcache makes sense) with a swappiness of 0 (this keeps the memory pages for Rosie in swap and even after heavy usage, you can always go back to rosie w/o reloads).

Having a swap-file on your sdcard makes no sense if you don't have a class 6 sdcard as it will hurt performance, so, if you do, anywhere between 64 MB and 198 MB (to match the whole working memory space of the device) with a swappiness of 60 should suffice.

I wish I had a hero...