In your call to convert you try to convert to just nvarchar which implicitly means nvarchar(1), i.e. there is not room for the whole guid to be converted.
Change that to
convert(nvarchar(36), @wfID)
and it will work.
For some strange reason MSSQL gives an arithmetic overflow if doing SELECT CONVERT(nvarchar,NEWID())
but gives a proper 'Insufficient result space' if doing SELECT CONVERT(varchar,NEWID())
.