mockturtle::tech_library contains member variables super_utils and struct_library which both contain a reference to _gates. When mockturtle::tech_library is copied, these references will keep pointing to the original location rather than to the new copied location.
The short-term solution is to disable the default copy constructor. Longer-term it would be great to properly implement a copy constructor.
(This is not urgent as we've worked around it).