I have often thought part of the cause is where the galvanized steel single wall pipe is connected to the aluminum inner pipe of the B-vent. A chemical reaction if you will. I have had this problem on water heaters and changed the single wall pipe to aluminum and the problem went away. I haven't been brave enough to try the thin aluminum pipe on a furnace yet so I still fight the "salt" on those and it does, eventually rot through the pipe. Before that happens, I usually have to take the vent apart and dump all of that stuff out of the horizontal pipe and vacuum it out of the draft inducer part of the furnace. I've had it almost completely block the opening in the furnace. This usually manifests itself with a code about the draft inducer or inadequate vent flow