The wallet keeps the secret nonce of every unfinished MuSig2 session in locked memory for as long as the wallet is loaded. A nonce is removed only when its session makes a partial signature.
I keep at most 2048 sessions per descriptor, about 288 KiB, and drop the oldest first. A dropped nonce is never reused. Its session restarts from a PSBT without our pubnonce. A standard transaction has room for about 1700 key-path inputs. Each MuSig2 leaf with our key adds one session per input, so a PSBT with many such leaves, or several concurrent PSBTs, can reach the limit. I tested this with a unit test that starts 4096 sessions. It fails without the change and passes with it.
This is one of several PRs from a large audit of Bitcoin Core that I did with the help of LLM tools. The audit produced its evidence all at once, which is why the PRs arrive together. I understand each change fully and will answer review questions myself.