O LINQ e entityframework são poderosas ferramentas de desenvolvimento agil. Permitem por exemplo gerar modelos para códigos a partir do BD ou code first.
É comum termos lentidões e conflitos quando utilizado de maneira errada. Quando instanciamos o DB com as entidades e pedimos a lista completa por exemplor Db.Clientes.ToList();
O Entity entende que você quer manilupar todos os clientes (ALTERAR) e reserva/segua (with LOCK no SQL) as linhas, se outra pessoa tentar fazer consulta a mesma tabela, existe grande chance dela ter lentidão na resposta ou não conseguir resposta.
Por isso é aconselhado utilizar o comando .AsNoTracking() que é o equivalente a estar fazendo um WITH NO LOCK, dizendo ao SQL que não precisa prender as linhas.
Então a dica é :

Use sempre o AsNoTracking para operações de leitura!
Me diz ai, Você sabia desta?