Hello,
maybe you can try to delete rows in small blocks, replacing your DELETE instruction by something like (I cannot check the syntax now)
Delete TOP 1000 Products where instance = 'XXXX-xxx-xxx-xx'
WHILE @@rowcount > 0
Delete TOP 1000 Products where instance = 'XXXX-xxx-xxx-xx'
It should help you to minimize deadlocks.
Regards,
Francesc