A instrução "lock" significa que você está usando essas coisas de vários threads?Nem tente compartilhar objetos ADO .NET entre threads - eles não são thread-safe... Parece que mais de um thread cria instância de leitor ao mesmo tempo.