SleepAsync will always fail:
using var sleepCommand = this.CreateCommand(); sleepCommand.SetCommandText("BEGIN sys.DBMS_SESSION.SLEEP(:seconds) END;"); sleepCommand.AddParameter("seconds", sleepTime.TotalSeconds);
should be
using var sleepCommand = this.CreateCommand(); sleepCommand.SetCommandText("BEGIN sys.DBMS_SESSION.SLEEP(:seconds); END;"); sleepCommand.AddParameter("seconds", sleepTime.TotalSeconds);