I don't think Go was ever planned to completely overtake C++. It is still a garbage collected language at the end of the day.
Note that even though C++ was born as UNIX language, as C sibling, at Bell Labs, Plan 9 and Inferno never supported it.
Here is the blog post from Rob Pike, https://commandcenter.blogspot.com/2012/06/less-is-exponenti...
Go's main issue is its language design approach.
All of which fall under the point of view of GC implementations as per CS papers and scientific research.
Go well, it could have been a Modula-3/Active Oberon language, instead it became something only a little better than Oberon-07 and Limbo, and even then it still misses features from Limbo, as its plugin package is half backed.