How to reproduce the bug:
1) Delete a metadata schema by calling delete() method of the MetadataSchema class.
2) Call find() method of the MetadataSchema class with the ID of the previously deleted metadata schema.
Expected return value: null
Actual return value: already deleted metadata schema
This happens because the value is fetched from the cache and not from the database. The attached patch should fix the issue by adding a call to decache() method in delete() method.