Layoffs might have to with what a person is working (project is no longer business priority, just cutting based on performance might lead to delays) or what team a person is working on (whole org gets the axe).
Not sure early versions of rust is the best example of refcounting overhead. There are a bunch of tricks you can use to decrease that, and it usually doesn't make sense to invest too much time into that type of thing while there is so much flux in the language.