It seems to me like closing the Hibernate Session also fixes the issue. You don't get an open stale connection for each and every of multiple lazy initializations within one single Session do you?
Added a test case.