Assuming you are creating the objects in the run method, the objects will go out of scope when the run method exits and then will be available for garbage collection. Run is just another method. Using threads or not does not change the garbage collection behavior here in any way. All you need to care about is when the objects go out of scope, which is generally tied to block scope (method block, while loop, if block, etc..).
So, since you are not keeping any reference to the object to begin with, you might want to extract the logic that creates the object into its own short lived method. That way the object that is created won't need to be kept beyond the scope of that method.