connection.close(); hat bisher immer die Sperren wieder freigegeben.

Komisch ist nur, das bei ersten close(); die Sperren "immer" verschwinden und bei darauffolgenden hängen bleiben.