Instance as key and disappeared

I am using a table to store translate result:

local Mem = setmetatable({}, {__mode = “k”})

using instance reference as key to record translate.

at the first frame, everything works well. printing table will have print everything i put in the table;
However, when i change the language which print the table again. only few instance references remianed.

function Translator:LoadLanguage(_language)
self.playerLanguage = _language
self.Loaded = true
print(Mem)
for k,v in pairs(Mem) do
self:translate(k,table.unpack(v))
end
end

Just figure it out. the reference of instance will be recycled when it is only mentioned by a weak reference.