It's hard to say without seeing the full table and index definitions, but from the query plan it seems you have a cascading delete, which is doing a big scan and hash join because it is not indexed
Specifically, it looks like you need an index:
SampleTestMethodResult (OfferDetailItemId, SampleTestMethodResultID)
That will get rid of the hash join, but the smaller sorts will remain. It's likely that one single big sort is the issue, hopefully that should be gone. You may want to add other columns into that index as well.
You must index your foreign keys properly, especially if you have cascades. See also SQL-SERVER why my cascading delete gets stuck and Adventures In Foreign Keys 4: How to Index Foreign Keys and The Benefits of Indexing Foreign Keys.