I also experienced the products multiplying when i added a free product. I do not had the problem of product not really free.
I did a quick fix in ‘coupon-select-free-product.php’. I added:
$form_items = array_unique($form_items, SORT_REGULAR);
just before the foreach in this file.
I am using the latest version 2.5.2.