I just checked my workstation and found Watchman alone holds ~556K watches across 34 roots. It keeps those watches even after the tool that spawned it disconnects. Notably, I've never invoked Watchman manually -- other tools do. And the 8k floor isn't much of a floor. My nixpkgs checkout alone is 37,686 directories, 4.6x that.
Truthfully, I had no idea Watchman stays resident and accumulates watched roots. But, that's kind of the point. It's a very easy thing to miss.
Eg Pi has its own tools for editing files and ignores the ones Zed sends over ACP. If I used Zeds AI pane to have Pi change a file, I can see the edits in the ACP window but the editor view doesn’t update.
I end up having to use something from the command palette to force refresh it, something like “Editor: Reload File”.
It happens to me across Windows, OSX, native ArchLinux and ArchLinux via WSL.