// ❌ LEAK: WebSocket stays open function Component() { useEffect(() => { const ws = new WebSocket('wss://api.example.com'); ws.onmessage = handleMessage; }, []); } // ✅ CORRECT function Component() { useEffect(() => { const ws = new WebSocket('wss://api.example.com'); ws.onmessage = handleMessage; return () => ws.close(); }, []); } __ __