The recontamination most likely is coming from either your yard, the area you walk your dog in, dog park, etc. It is carried through the feces. When he has it, you should immediately clean up any waste from your yard as soon as he goes and treat the area (maybe with a bleach/water mixture). Unfortunately you can't know whether another dog with giardia has previously gone in an area that you walk your dog.