![Screenshot 2019-12-16 10 51 05](https://user-images.githubusercontent.com/793565/70934095-fd91ed80-1ff1-11ea-93b5-746e816585ec.png)
There's seems to be circumstances where unmounted DOM/Fibers are kept alive by React DevTools. They're kept alive in `primaryFibers`:
https://github.com/facebook/react/blob/34527063083195558f98108cde10b5d6ad0d6865/packages/react-devtools-shared/src/backend/renderer.js#L772

It seems like a WeakSet would be appropriate and would remove the leak. Otherwise we'd need to understand why recordUnmount isn't called.

CC @bvaughn  
o
    if (trackedPath !== null) {
      mightBeOnTrackedPath = true;
    }
    if (traceUpdatesEnabled) {
      traceUpdatesForNodes.clear();
    }
     H
    const isProfilingSupported = rootSupportsProfiling(root);
    if (isProfiling && isProfilingSupported) {
       I
       T
      currentCommitProfilingMetadata = {
        changeDescriptions: recordChangeDescriptions ? new Map() : null,
        durations: [],
        commitTime: getCurrentTime() - profilingStartTime,
        maxActualDuration: 0,
        priorityLevel:
          priorityLevel == null ? null : formatPriorityLevel(priorityLevel),
        updaters: getUpdatersList(root),
         I
         t
        effectDuration: null,
        passiveEffectDuration: null,
      };
    }
    if (alternate) {
       T
      const wasMounted =
        alternate.memoizedState != null &&