A couple of things you can try:
Try
M-x debug-on-entry save-buffer
(orsave-current-buffer
etc.M-: (add-hook 'before-save-hook '(lambda () (debug)))
The debugger should open whenever Emacs tries to save a buffer, so you can see what function (farther down the stack is asking for the buffer to be saved.