Проблема в этой строке:
packagelist_listbox.Items.Remove(packagelist_listbox.Items.Contains(EachPackageWWW));
Если вы разбиваете это на части, он делает это:
bool doesListContainsPackage = packagelist_listbox.Items.Contains(EachPackageWWW);
packagelist_listbox.Items.Remove(doesListContainPackage);
т.е. вы удаляете логический результат метода Contains (item), а не сам элемент.
Измените это на:
packagelist_listbox.Items.Remove(EachPackageWWW);
или
if (packagelist_listbox.Items.Contains(EachPackageWWW))
packagelist_listbox.Items.Remove(EachPackageWWW));
если хочешь быть очень осторожным.
Кстати, вы можете рассмотреть возможность использования события Unchecked (для симметрии с Checked) вместо события Click.