I was under the impression that it did not in fact leak memory. Unless I'm mistaken, the handle gets passed through uv_close() which then frees stuff up within jl_uv_closeHandle().

If this is wrong where should I put the free() call?
In the callback of uv_udp_send?