It would only take removing these lines on the ShoppingCart.cs
Code:
public String m_ProductName;
...
...
...
newItem.m_ProductName = DB.RSFieldByLocale(rs, "ProductName", m_ThisCustomer.LocaleSetting);
However, considering that the CartItem is passed as a whole object containing this element. It would certainly affect not all that uses the CartItem object and those methods/functions which fetched the Product Name from that object. Therefore, I wouldn't personally recommend such. Unless, you extract the information by directly creating your SQL to retrieve the variant information and totally discarding the CartItem object. But again, this is not recommend...