I'm trying to do the same thing as you, and wasted hours trying to get AVCaptureVideoDataOutput and AVCaptureMovieFileOutput to work together until your post (I believe that's an undocumented feature at time of writing).
I suspect your memory increase is caused by CVPixelBufferPool, which is used whenever you process captured sample buffers with AVCaptureVideoDataOutputSampleBufferDelegate. I believe it maintains 10 (or 12 or 15) buffer references (unable to find definitive documentation), and I've not found a way to configure or change the pool size.
I've no idea why the idle CPU is taking a hit. Did you discover anything new since your post?