### Version v22.6.0 ### Platform ```text Microsoft Windows NT 10.0.22631.0 x64 Linux ****** 4.4.0-22621-Microsoft #3672-Microsoft Fri Jan 01 08:00:00 PST 2016 x86_64 x86_64 x86_64 GNU/Linux ``` ### Subsystem https://nodejs.org/api/globals.html#class-abortsignal ### What steps will reproduce the bug? Run this and watch memory usage. ```javascript const formatMemoryUsage = (data) => `${Math.round(data / 1024 / 1024 * 100) / 100} MB`; let memoryData = process.memoryUsage(); console.log('Mem before loop', formatMemoryUsage(memoryData.rss)); for (let i = 0; true; i++) { const abortController = new AbortController(); const signal = abortController.signal; const composedSignal = AbortSignal.any([signal]); if (i === 1000000) { break; } } memoryData = process.memoryUsage(); console.log('Mem after 1 million iteration', formatMemoryUsage(memoryData.rss)); ``` This is what I get on my local machine  ### How often does it reproduce? Is there a required condition? Always reproducible as far as I can tell ### What is the expected behavior? Why is that the expected behavior? Memory post loop execution should be fairly equivalent to the first log but somehow the `const composedSignal = AbortSignal.any([signal]);` does not get cleaned up from memory, I would expect this to get cleaned properly or if this is the intended behavior to have a clear warning in the documentation. ### What do you see instead? We see a memory leak that will eventually lead to an out of memory error. ### Additional information This has been tested on Node 22.6 on different machine and both Windows + Unix versions. Happy to provide more details if needed