You can use it but to use Destroy you need to be on a MonoBehaviour extend as it is a monobehaviour function (as most things you would use so going this path makes sense)
Same as on 1, its a functiona available on monobehaviour only
Here in addition it requires that the script is attached to a game object with a rigidbody or collider set as trigger
So in short: if you extend MonoBehaviour its fine (or if its one that extends MonoBehaviour)
If you extend ScriptableObject, UnityEngine.Object or anything totally different, then it will not work
You get all the behavior of MonoBehavior in addition to your own. Are you familiar with Object Oriented concepts? If not, best look over some tutorials.