The checkout attributes added after a user clicks "checkout" persist in the  "CheckoutAttributes" field of the "Customer" table even after the customer returns to the first step of the shopping cart and completely empties their cart, or if they empty their cart, close their browser, re-open and add a new product to their cart.  The expected behavior would be that the checkout attribute values would get removed from the CheckoutAttributes field if the user has not completed the order and has emptied the cart.

Version :  2.6
Our SQL version : 2008 R2
Can be recreated using the default code, before any custom modifications.

The steps to reproduce are:

1. First, create a checkout attribute item in the administration screen.  In our tests we created a checkout attribute with a "dropdown list" control type.  We added two possible values, each with two different price points.  However, it appears this issue can be recreated using any control type or any attribute value.

2. Add a product to the shopping cart.  The checkout attribute will appear.  Select any value from the example checkout attribute's dropdown list.

3. Click "Checkout."  The checkout attribute is added to the CheckoutAttributes field in the Customers table.

4. Now go to the top navigation and click on the shopping cart link to return to the first shopping cart page.

5. Select the product and remove it from the cart.

At this point, if you check the Customers table, you should see that the CheckoutAttributes field still contains values.