Once I removed the native query code and use the JPQL instead, the exception went away and no more leaking. Which make me believe this is bug in the glassfish/toplink. Hopefully some one will read this post and try to fix the problem.
[Message sent by forum member 'evanyang168' (evanyang168)]
http://forums.java.net/jive/thread.jspa?messageID=244355