Tracker Edge will do a few things internally to reset gracefully. System.reset() will work as it is captured in the following snippet to stop some running processes first.
// Associate handler to OTAs and pending resets to disable the watchdog
System.on(reset_pending,
[this](system_event_t event, int param){
// Stop everything
stop();
end();
}
);