I have deleted a company with the company_id of "1", that company is no longer visible anywhere in the Intercom interface. However I can see it in the API (using your official Ruby gem) with a call to:
client.companies.find(company_id: "1")
So the delete command must be just soft deleting companies. When it comes to contacts you can hard delete them from the account settings page (settings/delete-user), is there any such call for companies?
I noticed this during development when reseting my database and attempting to create a new company. I have logic that attempts to find or create a new company for a given ID, in this case it appeared to work successfully because it was updating data on the soft deleted company.