The swap issue is well known on linodes. The UML IO tokens system helps mitigate this to some extent ( a UML linode swapping intensively will run out of I/O tokens and so no longer chew up host I/O bandwidth, freeing the other linodes on the same host to continue on as normal).
FWIW, "swap = twice RAM" wasn't a myth. On older BSD systems (eg SunOS 4 and of the like; we're talking a decade old) swap was allocated in a much different way; every program running must have swap space available to swap it to, so you can never run more than the amount of swap space you had. So 16Mb RAM and 16MB swap only resulted in 16MB of VM space available! 16MB RAM and 32MB swap meant 32MB VM. Thus "swap = twice RAM" made a good rule-of-thumb. Performance still went to hell when swapping that badly; it was designed to let your SA do emergency work
(see http://sunsite.uakom.sk/sunworldonline/ ... -perf.html
for more details on this).
However this has NEVER been true on Linux. And I don't think it's true on any system, any more. The equivalent rule of thumb these days would be "swap = RAM", but you'll still suffer crap performance if you swap too much.
So... "swap = twice RAM" is not a myth. But it's now an old out-of-date rule of thumb that people ignorantly repeat because they didn't know _why_ the rule existed.