This suggests to me that they are being reloaded from some external source. So what "type" are the contacts?
If they are Google contacts, if you delete them individually while online (so it can be synced straight away) that should work. But if you delete them all when offline you might exceed the maximum number of deletions that can be done at once, so when you next connect it ignore the deletions and reloads them. This is to stop accidents, e.g. you erase your entire phonebook by accident and the sync then wipes out the backup.
Otherwise, are you sure it's not loading them from Facebook or some other source like that?