I would have the Canon lens checked out by Canon. Lenses will fog under circumstances that already been listed but they shouldn't fog on the inside nor should it take hours to defog. You obviously have moisture inside your lens otherwise that wouldn't happen. When a lens fogs on the outside it's because the lens is cooler than the ambient temperature. If there is moisture in the air it will condense when it hits the cooler glass of the lens. The air inside the lens should be about the same temperature as the glass and should warm up a little faster than the glass but not enough to cause instant fogging unless the outside air is freely displacing the air inside your lens. I live down south so I have alot of experience with lenses fogging when I take them out of an air conditioned car or house into the hot humid outdoors. But when I have had them fog it was always on the outside glass and only lasted until the temperature gradient decreased. I would keep the rear cap on though.