Is it safe to delete unused matrix field tables from the DB?
That shouldn't be the case... Those tables should have been deleted automatically when you deleted the fields.

Did you actually delete the fields themselves? Or did you simply remove them from your section's field layout? Make sure the actual fields were deleted within Settings > Fields



If you're positive those fields have been properly deleted...

Try updating to the latest version of Craft (v2.2.2587), which was released today. It includes this bug fix:


  Retroactively fixed a bug where some Matrix block rows would get left behind in the database when an element was deleted that had a Matrix field.


If that doesn't resolve the problem for you, I'd recommend submitting a bug report to Pixel &amp; Tonic. Submit the message via your Dashboard, so you can include a copy of your database and log files.