Right well I disabled all the non Microsoft services, rebooted and it made zero difference.
However the discovery that Calibre will always restart when you click the restart button in the Plugins dialog box does mean that there is a different code path for that restart compared to the keyboard restart or Preference menu. I had a look at the code but don't understand the code flow.
I'm leaving it here as it isn't essential but at least others will find this thread when searching should they have the same issue.
I'll just have to add a plugin if I want to restart

