Out of swap space error generally occurs when your native heap is running out of memory not the java heap.The following could be the suspects which may leak the native memory:
1) JDBC Objects if it is a native driver
2) Object streams
3) NIO
4) Any other native libraries
Tracing the jni calls to the memory would give a better idea. You can use OS Specific tools also to monitor the native memory. Also you can look for the java heap for the growth of the above mentioned java objects and try reducing it. Also make sure that you have got enough space in the swap file system.