Root Cause
SQL Complete builds the object cache incrementally. Initially, only basic metadata is loaded, while additional objects are fetched on demand as they are accessed.
The cache is persisted locally between sessions. However, if SQL Complete attempts to retrieve additional metadata while the connection to the server is unavailable (for example, during a VPN switch or a temporary network interruption), the requested objects cannot be loaded and therefore are not added to the cache. From the user's perspective, this may appear as if the cache has been reset or partially lost.
It is important to note that the cache is replaced only after a successful refresh operation. Therefore, an interrupted refresh process should not result in the loss of metadata that has already been loaded.
Workaround
To prevent the cache from being refreshed automatically, disable the corresponding options in SQL Complete:
Open SQL Complete → Options → Suggestion → Refresh.
Clear the following checkboxes:
Automatically refresh local cache every
Detect changes on a server before refreshing local cache
With these options disabled, the cache remains available throughout the current SSMS session and is no longer overwritten automatically. If the database schema changes, the cache can be refreshed manually by pressing Ctrl+R.

Product Limitation
Persisting the complete object cache for each database across SSMS sessions is not currently supported. This functionality is planned for implementation in future versions of SQL Complete.