and TagObject delete automatically the object when Timer is deleted
If you use a VCL TTimer the same thing you can do with property Tag. Pay attention this is only an "int" so is not portable pointer! And also you have to rember to delete object.
Another way is extend TTimer component adding an AnsiString property