This should work if you delete the relationships with a callback within the same edit operation.
In this example I'm modifying a selected parcel with an inspector and deleting the relationships with a callback. Note, this is quick and dirty code:
QueuedTask.Run(() =>
{
var selfeature = MapView.Active.Map.GetSelection();
var op = new EditOperation();
op.Name = "Update and delete relationship";
var insp = new Inspector();
insp.Load(selfeature.Keys.First(), selfeature.Values.First());
insp["ZONING"] = 42;
op.Modify(insp);
var geodatabase = new Geodatabase(new FileGeodatabaseConnectionPath(new Uri(@"d:\temp\prorel\test.gdb")));
var relationshipClass = geodatabase.OpenDataset<RelationshipClass>("parcels_owners");
var parcelFeatureClass = geodatabase.OpenDataset<FeatureClass>("parcels");
var queryFilter = new QueryFilter { WhereClause = "OBJECTID = " + selfeature.Values.First().First().ToString() };
var rowCursor = parcelFeatureClass.Search(queryFilter, false);
rowCursor.MoveNext();
var selectedrow = rowCursor.Current;
var relatedDestinationRows = relationshipClass.GetRowsRelatedToOriginRows(selfeature.Values.First());
op.Callback(context =>
{
foreach (Row relatedDestinationRow in relatedDestinationRows)
{
relationshipClass.DeleteRelationship(selectedrow, relatedDestinationRow);
}
}, relationshipClass);
op.Execute();
});