In the shutdown / restart confirmation dialog there’s a checkbox to reopen apps at login. If there’s a bug with it I haven’t noticed it.
You can also run
I do untick it. It's a bug that happens with every restart.
I'll have a go with setting the defaults, I'm wondering if there was a file it writes out open applications to (to trigger on restart) that has somehow become corrupted and therefore doesn't get cleared.
Do you know where MacOS stores the list to reopen?
defaults write com.apple.loginwindow LoginwindowLaunchesRelaunchApps -bool false