After the DMA watermark flag is asserted while writing to say, buffer0 of thread0, you will stop writing to buffer0 after certain number of 32-bit words (as per the water mark calculation). Now you start writing to buffer1 by monitoring the DMA ready flag of thread0 and not the watermark flag. So, watermark flag is used to end the transfer and the ready flag is used to start a transfer.
I think you are waiting for the watermark flag to get deasserted before another transfer. If I am wrong, please correct.
Thanks for your suggestion. I haven't had a chance to investigate yet as I have been working on other parts of the design. I should be able to look into it in the coming weeks.