Hola puedes usar Application.Lock() para que solo permita hacer eso de a un usuario a la vez, esto te ayudaria para ke el servidor no se te bloquee pero ten en cuenta que cuando hay dos usuarios el segundo tiene que esperar que el primero termine para poder hacer eso.
Código:
Application.Lock();
try
{
//aca tu logica
}
catch (Exception ex)
{
//Por si te falla que muestre el problema
string msg = ex.Message;
}
finally
{
//despues de terminar toca desbloquear para que el siguiente usuario pueda trabajar
Application.UnLock();
}