Potential corruption in sys.sysdercv, latch errors from ghost cleanup process
UPDATE: The problem has been resolved. Took a lot of screwing around, but we were able to take the instance down, bring it back up, put the database in emergency mode, and ran a DBCC CHECKTABLE with REPAIR_ALLOW_DATA_LOSS (we were able to fix it in a test restore with REPAIR_REBUILD, but emergency mode won't let you use that option, apparently). That fixed the corruption in sys.sysdercv, and everything is back to normal.  Still not sure what ended up causing it, but backups are working again, DBCC CHECKDB has been coming back clean.  Chalking it up to "stuff happens", I guess.