Instead of an array of SplineMeshComponents, make a struct with a float and a SplineMeshComponent and keep and array of them, call the float ‘Creation Time’ or somesuch, populate it with ‘Get Game Time In Seconds’.
Then at the end of your tick, in a while loop (condition: GetGameTimeInSeconds() -SplineMeshes[0].CreationTime > MAX_LIFETIME) destroy mesh and remove struct from array.
Arrays aren’t a great choice if you’re constantly pulling things off the front of them, but that is another issue