I had a short app I wrote that every day at a certain time it would notify me to do something. Didn't need it anymore, so deleted app. However, the notification kept coming. I had to re-install the app, delete the schedule configure and run again to get it unscheduled.
No big deal, just kinda had me confused for awhile. (Doesn't take much to confuse me)
EDIT: Correction, I didn't delete the app just deleted out the schedule command.
In your custom app, you should implement the 'uninstalled()' method. Within that method, you should call unschedule() to remove any scheduled tasks for that app. I would also throw in an unsubscribe() as well.
To clarify, you didn't actually uninstall the app? You just removed a call to schedule()from your code? If so, anything you've previously scheduled is going to stay, which is normal since you didn't tell it to do anything else. To do that, you'd need to call unschedule(). A common pattern is doing this in updated() before calling schedule() if that's where you do the same based on some app settings, though this will depend on your specific app.
(I don't think the answer in the above response should be necessary, though it can't hurt -- but was likely written before you made this important edit to your post.)
OK, I need to recap this. This started several days ago and I had to stop and think what I actually did. First off I deleted the schedule line in the app. Opened the app and did a done. Then realized I didn't need the app so I deleted it. Then realized there was something else in the app I needed so put it back in. So the final result was the app with the schedule deleted.
In all my apps I put the unschedule in the install and update... Or so I thought. But apparently I somehow didn't get it in the update on this one. And that is what caused all the issues.
Thanks to all for the trouble. Sorry for the misunderstanding.