I don’t know how you detect the leaks, but for me only the first 2 examples create a leak.(detected using sIEve)
The reason: inside runme() you create a closure for node.
When you got leaks in all 4 examples, you should show, how you remove node(that’s the point when the leak occures )
However: the solution is to remove events before removing an element: http://www.crockford.com/javascript/memory/leak.html
solved Circular references in IE6 creating memory leaks