Failing MERGE Statement: How to monitor with XEvents and specifically get parameter values for a prepared statement?
Your merge statement is not correctly formed and will always insert all the records, so you will need to update it and tell it to insert the records not matched in the destination table using  WHEN NOT MATCHED like this:

MERGE table
USING 
    (SELECT ? AS Search_Col) AS SRC
    ON table.blobTask_id = SRC.Search_Col
WHEN MATCHED THEN
    UPDATE SET
    x= ?,
    y= ?,
    z= ? 
WHEN NOT MATCHED THEN
    INSERT (blobTask_id ,x, y, z, ) 
    VALUES (SRC.Search_Col, ?, ?, ?)


To get the exact statement and parameters for a statement that fails you'll need to capture events before the statement is executed, as the statement fails you will not get a completed statement.

 CREATE EVENT SESSION [a] ON SERVER 
  ADD EVENT sqlserver.sql_statement_starting(
  ACTION(sqlserver.sql_text))