Ok, so if you aren't using history, you can indeed remove history. For your query: check the runtime tables for executions that don't exist anymore. These can be simply removed in the history tables.
11GB sounds like a lot for the byte array. Besides process xml and process images, what do you guys store in it together with the process?
But the rule of thumb of that the byte arrays linked to a process definition you don't use anymore can be deleted.
To be safe, I would check what the repositoryService.deleteDeployment() does (check the SQL logging) and see if you can mimic it.