No, all instances, even when unattached to the DataModel, will not be gc’d unless they are destroyed and have no strong references (The table is cleared).
You can test things like this using gcinfo().
while true do
task.wait()
Instance.new("BoolValue") -- Without this, the memory stays the same.
print(gcinfo())
end