Exception ZombieCheck - Cette SqlTransaction est terminée; il n'est plus utilisable - lors d'un commit simple

J'ai le code suivant qui effectue une validation d'une seule ligne à une table de base de données (SQL 2008 /.NET 4)

using (var db = new MyDbDataContext(_dbConnectionString))
{
    Action action = new Action();
    db.Actions.InsertOnSubmit(dbAction);
    db.SubmitChanges();
}

Normalement, tout est très bien, mais de temps en temps je reçois l'exception suivante:

System.InvalidOperationException: This SqlTransaction has completed; it is no longer usable.
at System.Data.SqlClient.SqlTransaction.ZombieCheck()
at System.Data.SqlClient.SqlTransaction.Rollback()
at System.Data.Linq.DataContext.SubmitChanges(ConflictMode failureMode)

Il y a un certain nombre de questions similaires sur la mais je, après lecture à eux, je ne peut pas déterminer la cause.

Cela pourrait-il être simplement dû à un SQL délai d'attente (à l'exception se produit près de 25 ans après l'appel est fait)? Ou dois-je attendre un SQL exception délai dans ce cas?

Personne ne sait quoi d'autre peut en être la cause?

source d'informationauteur Mr. Flibble