You can check some details about the tokens consumption through the sessions rollout that are saved in the folder ~/.codex/sessions. Also, there you can check if there are some threads being spawned in background and consuming the limits.
I got in a similar situation a time ago, it was due to the memory management of the codex. Every time I started a new thread, I noticed that my limits were decreasing even after the main thread was finished. The task actually consumed something like 2% of the 5h window limits, but it kept decreasing more 10-12% even after the task get done. I went to the `.codex` folder in order to find some evidences on what was happening. And there it was, some background threads was being spawned and it was related to the memory management of the codex. I just turned off the memory feature, and it was solved.