This post by loleris themselves on ProfileService (Roblox DevForum) mentions that the module will periodically save data to the DataStore, as well as when the game server closes. This implies that the data is kept in-memory, and automatically saved to the DataStore at an interval and not whenever it is modified.
Reading through the source code (GitHub) corroborates this.