Our SharePoint-hosted app has been published to the App Catalog successfully. Is it possible to restrict it to a single Site Collection so that nobody is able to add it to another site collections?
Approach 1 - If you are on premise.
Consider moving you site collection to a different web application and designate a separate app catalogue for the web application. This way you will be able to isolate the apps from other web applications/site collections.
Approach 2 - If you are on Office 365 or the first approach is not suitable.
Convert the add in to provider hosted add in and implement an add-in event receiver.
Implement an AppInstalling event and check before hand where the user is trying to install the add in. If it is one off the target site collection/site then allow the installation or throw a permission denied error.
To read about the add in events please refer this Create an add-in event receiver in SharePoint Add-ins
You can also try creating a app under specific site collection.Please refer blog https://docs.microsoft.com/en-us/sharepoint/dev/general-development/site-collection-app-catalog