We have a custom .Net Runtime client that leverages ArcGIS Server synchronization -check out, work disconnected, check in, the whole bit. Everything works fine if the checkout work areas are smaller. Sometimes, though, users need to checkout large work areas and that's where we run into file transfer size limits when pushing down to the client. It seems there's a 2GB limit using the SDK provided ArcGISHttpClient, which by all accounts is probably just a wrapper around the standard HTTP .Net client. After poking around a bit and looking at the SQLite DB produced by the out of the box ArcGIS Server checkout/sync routine, it appears there's a whole lot of wasted page space in the DB and running a simple VACUM on the SQLite DB could cut sizes in half. Is there a reason the checkout routine doesn't do this as the very last step in the creation pipeline?