would still like to hear @Sergey Sharybin (sergey) 's opinion, still sounds like bpy.data.meshes.new_from_object() is not meant for temporary usage.
Still the case presented in D5112 [other addons calling this as well -- that might also have called ob_eval.to_mesh()] sounds like it would apply to many addons?
Should all relevant addons use meshes.new_from_object()+ meshes.remove() as opposed to ob.to_mesh() + ob.to_mesh_clear() then?
To me this does not justify pollution of main database with a temporary objects. It's the same as operator storing point to ID/data and calling an operator which modifies that ID/operator.