No worries, i finally managed to create a CleanUp-method that works. If others are interested, here it goes
private void CleanUp(Document doc) { var pMgr = doc.PrintManager; using (var trans = new Transaction(doc)) { trans.Start("CleanUp"); CleanUpTemporaryViewSheets(doc, pMgr); CleanUpTemporaryPrintSettings(doc, pMgr); trans.Commit(); } } private void CleanUpTemporaryPrintSettings(Document doc, PrintManager pMgr) { var printSetup = pMgr.PrintSetup; foreach (var printSettingsToDelete in (from element in new FilteredElementCollector(doc).OfClass(typeof(PrintSetting)).ToElements() where element.Name.Contains(_tmpName) && element.IsValidObject select element as PrintSetting).ToList().Distinct(new EqualElementId())) { printSetup.CurrentPrintSetting = pMgr.PrintSetup.InSession; printSetup.CurrentPrintSetting = printSettingsToDelete as PrintSetting; pMgr.PrintSetup.Delete(); } } private void CleanUpTemporaryViewSheets(Document doc, PrintManager pMgr) { var viewSheetSettings = pMgr.ViewSheetSetting; foreach (var viewSheetSetToDelete in (from element in new FilteredElementCollector(doc).OfClass(typeof(ViewSheetSet)).ToElements() where element.Name.Contains(_tmpName) && element.IsValidObject select element as ViewSheetSet).ToList().Distinct(new EqualElementId())) { viewSheetSettings.CurrentViewSheetSet = pMgr.ViewSheetSetting.InSession; viewSheetSettings.CurrentViewSheetSet = viewSheetSetToDelete as ViewSheetSet; pMgr.ViewSheetSetting.Delete(); } }