This is usually related to code signing and notarization
xcrun stapler validate /path/to/DogWalk.app
…shows:
DogWalk.app does not have a ticket stapled to it
(But spctl --assess --type exec --verbose /path/to/DogWalk.app shows it's notarized as expected.)
Perhaps the beachball is Gatekeeper reaching out to Apple's servers to verify notarization? It seems a little faster on subsequent launches but still beachballs for ~2 seconds.
This is usually related to code signing and notarization