ORM can only break relations if it knows they exist. Your find() doesn't fetch the relation, so there is nothing to delete.
In your second example, you trigger lazy loading of the related object, after which the ORM knows the relation, and can delete it.
Bottom line: this is by design. If you need related data, include the relation on the find, it's much faster then having to query the database multiple times.