connection.close() can through exception, in that case "SquerylTransactionManager.currentSession.remove()" will not be called.
Looks like it will leave session in pretty bad state