Probably, you have SQLite as your database (due to intensive File IO in performance analysis). Until .NET 6 File IO was really bad (check this video: https://youtu.be/0KjkyhxnJuA?si=g1Am3nVkhUOok24s) in CPU usage in async/await scenarios. Probably your database has no index for gameId
column, so your queries need perform full-scan (read your table fully).
Check your database indexes.
I recommend use sync IO even in async methods if your IO is really fast due to async/await mechanism.