Found while investigating #25021

ElectronBrowserMainParts has a periodic timer that is used to trigger GC once a minute even on an idle system. While one wakeup per minute isn't bad, it's also been in there [since 2014](https://github.com/electron/electron/commit/4dd78480846557370dd53789d50e6cb0d6a81bcd) and may or may not still be necessary. It might be worth seeing what happens to memory overhead if this is disabled and/or triggered with a different mechanism.

```c++
  // Start idle gc.
  gc_timer_.Start(
      FROM_HERE, base::TimeDelta::FromMinutes(1),
      base::Bind(&v8::Isolate::LowMemoryNotification,
                 base::Unretained(js_env_->isolate())));
```


shell/browser/electron_browser_main_parts.cc
#endif
#if BUILDFLAG(ENABLE_BUILTIN_SPELLCHECKER)
  SpellcheckServiceFactory::GetInstance();
#endif
#if defined(USE_X11)
  ui::TouchFactory::SetTouchDeviceListFromCommandLine();
#endif
  
  gc_timer_.Start(FROM_HERE, base::TimeDelta::FromMinutes(1),
                  base::BindRepeating(&v8::Isolate::LowMemoryNotification,
                                      base::Unretained(js_env_->isolate())));
  content::WebUIControllerFactory::RegisterFactory(
      ElectronWebUIControllerFactory::GetInstance());
  auto* command_line = base::CommandLine::ForCurrentProcess();
  if (command_line->HasSwitch(switches::kRemoteDebuggingPipe)) {
    
    content::DevToolsAgentHost::StartRemoteDebuggingPipeHandler();
  } else if (command_line->HasSwitch(switches::kRemoteDebuggingPort)) {
    
    DevToolsManagerDelegate::StartHttpHandler();
  }
#if !defined(OS_MAC)
  
  Browser::Get()->WillFinishLaunching();
  Browser::Get()->DidFinishLaunching(base::DictionaryValue());
#endif
  
  Browser::Get()->PreMainMessageLoopRun();
}
bool ElectronBrowserMainParts::MainMessageLoopRun(int* result_code) {