Die TInterfaceList ist eine Liste von Interfaces (soweit bist du wahrscheinlich schon gekommen
).
Beim .Add holt sie sich eine Referenz auf das übergebene Interface -> AddRef, Referenzzähler 1.
Beim .Remove verliert sie die Reference -> Release, Referenzzähler 0, Freigabe des Objekts.
Wie sonst auch gilt also auch hier die Regel: Interfaces und Klassen sind nur mit viel Umsicht zu vermischen. Und bei Interfaces gilt eben nicht, dass du alles mit Free freigeben musst, was du mit Create angefordert hast.