Have you
DEALLOCATEd[
^] the cursor in the end of the trigger.
If you're thinking about the performance, SQL Server has 'special' memory structures which are meant to handle situations when the same trigger, procedure etc is called. SQL Server caches both the compiled version and the optimization. So in performance point of view, in normal situations, you don't have to worry about the caching.