Sorry, have no specific experience with MSSQL, but have seen elsewhere that a scoped session must be set up using a lock in addition to threading.local. Not sure if you are already doing this.
See the code (and eleddy's priceless comment) in this post: