' Clone this object Public Function CloneManually() As Data Dim loData As Data = Nothing Dim loDataSet As DataSet = Nothing ' Get the proper definition as per the current scope If oProcess Is Nothing Then loData = New Data(oApp) Else loData = New Data(oProcess) End If loData.oDataSet = oDataSet.Copy loData.nCount = loData.oDataSet.Tables("Temp").Rows.Count loData.oDataView = New DataView ' If we have no record If nCount = 0 Then loData.oRows = Nothing Else loData.oDataView = loData.oDataSet.Tables("Temp").DefaultView loData.oRows = loData.oDataSet.Tables("Temp").Rows() End If Return loData End FunctionThere seems to be something when going through the MemberwiseClone() that puts something in memory which would make it not workable in my case.