Ich würde viel zusätzliche Protokollierung hinzufügen, versuchen, es gut genug zu protokollieren, um den Fehler zu erfassen - und diese Protokolle zu speichern, wenn der Fehler erkannt werden kann.
Sobald Sie Protokolle haben, die den Fehler zeigen, können Sie den problematischen Code einfacher isolieren.
Dazu müssen Sie möglicherweise die Datenbankabfragen protokollieren, was bei einem hohen Datenvolumen und/oder Datenschutzbedenken leider schwierig sein kann.