values isn't free'd here if SetValue() either returns false or returns true as values == m_values ?