There are a few questions here:
1) Do you have a recirculating pump on your water heater? If so, it could be sized wrong, too much turbulence in the water pipe system can wear out the pipes from the inside.
Turbulence is not caused by a circulator too big or too small BUT from improper installation such as lack of reaming or very short radius fittings like 90 degree bends
An over sized circulator will cause excessive “VELOCITY”
Also normally a copper tubing system ideally designed to be no more then 5-6 FPS BUT on a hot water line 180+ like hydronics should never exceed 2-3 FPS velocity
2) Do you know where the plumbing contracter bought the pipe?
This should have no bearing as the leaks are on the upper floor
If he got if from a reputable plumbing supply, then it’s probably ok, but if he got it from a home building store, such as home depot, or lowes, or menards, or something like that, not all of them use virgin copper.
Answer: Most copper tubing is recyclable and thus this is not normally a concern.
The real concern is the pH factor and the type of flux used during installation.
Imported copper is not always made to the more exacting standards of the ASTM specifications.
Sharp turns cause
3) Are there any connections in your water system, (in your basement) that could be causing electrolysis? Connections that are not copper to copper, or copper to brass can cause it
Mixing non ferrous and ferrous metals normally does not cause this kind of electrolysis conditions to occur FAR the juncture of the joint.
For example many piping systems have brass and steel/cast Iron joining without the typical corrosion you will see from joining brass (Red Brass not Yellow) or copper to a galvanized pipe
After all Red brass is 85% copper and 15% Zinc and yet this alloy doesn’t corrode even with this mixture.
I would check your piping for the ASTM number and or the manufacturers name.
Check your incoming water pressure and then post your piping size and IM sure one of these fine “experts” will be able to tell you your velocity.
Also check the pH as it cant hurt