As per the information you provided above - logs shows that application is releasing the threads but it is taking long time. It can be due to slow disk or application is writing huge amount of data. Discuss with your developer, how much amount of data they expect the application to write to that disk. That gives you an idea on how intense your application is on I/O. Still, we cannot just say whats the reason behind the hung threads.
Next Steps:
When you notice hung threads on the server ... issue "kill -3 PID'. This will generate thread dump, which is a snap shot of thread activity at that time.
Then use the following article and analyse the thead dump.
www.websphereusergroup.org/josephamrithr...Look for threads in HUNG state and see where the java stack is pointing to.