What filled the context was not thinking

In one Claude Code session I wanted to know what was filling the context. The first guess was the model’s thinking blocks.
I had the session transcript analyzed. Every API call reports its token usage, and the difference between two consecutive calls is what was added in between. Over the session the context grew by about 40k tokens. Roughly 72% of that came from tool results and other input, and about 28% from the model’s own output, of which thinking was only around 2k. One file dump alone added about 8k.
This is a single session, so I would not turn it into a rule. It only shows that the guess pointed at the wrong item.