the trouble with rust is, its at the microscopic level, so even if you cant see rust by eye (for example after youve sanded it) its still there, its just in the surface.
the only real way to get rid of all traces of rust is to acid dip it- it eats away all the rust down to the microscopic level and then treat the surface imediately with an inhibitter, or seal the surface from the air. (theres moisture in the air!)