Delete all thumbnails for a post

Using wp_delete_attachment( $attachmentid, true ) is only thing you need.

Passing true as second argument, ($force_delete see codex ) it:

  • remove the thumbnail association with any post
  • delete any taxonomy associated to attachment
  • and of course remove all the files, also the autogenerated ones

So you do not need to also use delete_post_thumbnail().