Solution:
Root Cause: Unreleased Objects and Event Listener Leaks in Extension Service Workers
Chrome Manifest V3 extensions rely on background Service Workers. When an extension retains references to DOM elements, unclosed MessagePorts, or global event listeners inside its background script, V8 Garbage Collection (GC) cannot deallocate the memory. This leads to unbounded V8 heap growth in the extension's dedicated process.
Diagnostic Verification:
1Press Shift + Esc inside Chrome to launch Chrome's built-in Task Manager.
2Sort by Memory footprint. Locate any Extension: [Name] process exceeding 300MB.
3Open chrome://extensions, enable Developer mode in the top right.
4Click the blue service worker link under the suspect extension to launch its DevTools window.
5Navigate to the Memory tab, select Heap snapshot, and click Take snapshot to confirm retained objects.
Step-by-Step Fix:
1Terminate and Reload Suspect Extension:
Inside Chrome Task Manager (Shift + Esc), select the offending extension process and click End process.Navigate to chrome://extensions/ and click the reload icon on the extension card.2Restrict Extension Site Access Permissions:
Right-click the extension icon on your toolbar and select This Can Read and Change Site Data.Change setting from *On All Sites* to *When You Click the Extension* or *On Specific Sites* to stop background injection on every loaded domain.3Remove Outdated Manifest V2 / Leaky Extensions:
Remove extensions that have not been updated recently or those identified as leaky via heap snapshots.Prevention & Long-Term Monitoring:
Periodically inspect chrome://serviceworkers-internals to verify that background workers stop automatically when idle rather than remaining stuck in a RUNNING state.