Exception Type: System.Data.SqlClient.SqlException
Message: New transaction is not allowed because there are other threads running in the session
If you have ever seen this type of exception when talking to RTM SQL Server 2005 (but never saw it with the Beta version of the server), it’s likely that you have an open data reader associated with the connection when starting a new transaction.
The change (from Beta to RTM) is by-design. To avoid non-determinate transaction state, the request of a transaction should be the only request when you execute a transaction. In other words, you have to close the reader associated with the connection before starting a new transaction.