private void Dispose(bool disposing) { lock (this) { // no if (disposing) pattern to clean up managed objects if (m_pStringList != IntPtr.Zero) { External.curl_shim_free_slist(m_pStringList); m_pStringList = IntPtr.Zero; } } }