If you're using Flush to reduce memory usage then you're simply using it for the wrong reason. Just let the OS use as much memory for caching your files as it thinks is worthwhile. Afterall, there's a reason your app goes so fast without flushing all the time.
Flush only when it is critical that the file on disk be up to date immediately. E.g. if it were a database system and your just comitted a transaction.