verifique se as chamadas simultâneas não estão sendo feitas de forma indevida e para resolver essa questão da leitura e escrita, você pode usar alguma condição a nivel de banco de dados que torne os dados únicos, dessa forma voce evita que os dados sejam inseridos de forma duplicada ou até mesmo incluir alguma estratégia de transaction para "lockar" o banco até que uma escrita seja finalizada logo a próxima leitura vai pegar os dados de forma integra e evitar essas duplicidades.
1