There is mapping code necessary from the task_uuid field of the list payload, to get correctly filled Task instances when calling TAsk::all.
I added this code to get it working, then destroy() worked:
public function __construct(array $attr = [], ?ClientInterface $client = null)
{
if (isset($attr['task_uuid'])) {
$attr['uuid'] = $attr['task_uuid'];
}
parent::__construct($attr);
}