Hardly! You should never, ever, ever attempt to handle NotificationCenter in this fashion,
SwiftUI views are NOT reference types. And they're continually being recreated and diff'ed when view updates occur. Here you're continually recreating a NotificationCenter observer on every init and attempting to bind the observer to a struct. No wonder observers are leaking like a sieve.
Nor does the "fix" fix the problem, Yes, you'll remove the current observer when the view finally disappears, but you'll also remove the notification observer if, for example, you navigate to a new view and then back again.
If you MUST pair a NotificationCenter inside a view (and not a view model), use the Combine version coupled with onReceive and let SwiftUI manage the subscription lifecycle.