Can using remove() cause lag over time? I was told that when you use the remove() event it doesn't completely erase all the data of whatever is removed whereas destroy() does and I was wondering if this is true and/or if using destroy() instead would make a difference. Any advice/thoughts would be very helpful, thanks!
Remove() doesnt actually "Remove" it from your world, it just temporarily makes it nil. For Example
local part = Instance.new("Part", Workspace) print(part.Parent) --> Workspace part:Remove() print(part.Parent) -- prints nil part.Parent = Workspace print(part.Parent) -- print Workspace
As you can see here it just makes it nil for the moment, and it can be re-added just by simply defining a parent.
So for your question, it should not cause lagg. Though it is not complete gone, it is nil therefore it does not exist for it to be accessed, Meaning it cannot generate lagg for a player. Only way in which it can return is by re parenting it to workspace or otherwise. If you want to get rid of an object, the proper method to use is :Destroy() for it will completely remove the object from your world
The simple answer is normally no.
Using remove sets the Instance's parent to nil, but it still exists internally and can be reparented. It'll get gc'd at a later time, but it's not suggested to use it because it was deprecated in favour of Destroy for good reasons.