Czy stwierdzenie "lock" oznacza, że używasz tego z wielu wątków?
Nawet nie próbuj udostępniać obiektów ADO .NET między wątkami - nie są one bezpieczne dla wątków... Wygląda na to, że więcej niż jeden wątek tworzy instancję czytnika w tym samym czasie.