

It is a way to go but there are still cons there. Guaranteeing memory safety isn’t free. You have to pay for it somewhere, either at compilation time, like Rust, or during runtime like in Go. Both are solid approaches but GC will cause problems in cases where the extra runtime overhead is not acceptable.
It’s really not just that it is/was cheaper. There are cases where, all costs considered, it was actually measurably more expensive. The main reason for off-shoring is purely ideological. Amercan capital has nothing but disdain for workers and hatred for organized labor. Off-shoring was intended to crush unions, while giving a temporarily lower price to goods to prevent the populace from understanding how much they were getting screwed.
Chip production is a highly specialized field, where workers could readily demand concessions from capital, were they on anything resembling stable ground. That was not too be allowed.