Hi doodoo,
I think the odour "comes back" not because of previous stain, but it's because u sweat and stain on it again. So it's best that everytime u wear that top, soak it in some anti-bacteria agent (like dettol) and i believe the impt thing is to soak longer, not to add alot of detergent...