Did you take thread dumps to see what the progress was on the thread? My initial guess is that it is waiting on some network timeout (possibly several times). But only by looking at thread dumps can you tell this. I would first try a thread dump every 5 minutes or so.
Which parameter can we modify to aviod this posible (network timeout problem)?