Hola Carlos,
Cuando he tenido este problema, en general fue por interbloqueos en SQLServer. Es probable que haya operaciones de escritura (de tablas o índices) que se estén bloqueando entre si producto de concurrencia entre dos o más.
Para encontrar cuales son los objetos que causan el problema he usado Management Studio y el Profiler, es un trabajo que hay que encarar con paciencia. No descartaría consultar con un DBA experto.
La solución, en mi caso, pasó por ajustar la definición de los objetos de base de datos y/o la forma en la que están construidos los queries.
No recomendaría mecanismo de reintentos porque creo que no soluciona el problema de fondo (es como barrer la basura debajo de la alfombra).
----------------------------------
Carlos Peix
Móvil/Whatsapp: +54 911 4406 7571