Without knowing specifically how you are creating tables, importing records, structures and schema; or your environment 2000/02/03 mdb or 2007/10/13 accdb version, machine (32-bit/64-bit, laptop/desktop), Windows OS (XP, Vista, 7, 8, 10), single CPU or LAN, one can only speculate.
First it is important to understand the strange, hard to define program that is MS Access. In essence, MS Access is a suite of connected objects: Jet/ACE SQL engine, GUI front-end application, report generator, and IDE coding interface. It is not actually a database but ships by default to the ACE engine which by the way is not restricted to MS Access but is wholly a Windows technology (.dll files) available for all Office and other PC applications. Excel can run accdb/mdb files without Access even installed! When compared to other databases such as another file-server (popular, open-source) counterpart, SQLite, and client server (SQL Server, MySQL, PostgreSQL) it is really the Jet/ACE component that is the relational engine being compared. Interestingly, Access can connect to all aforementioned RDBMS's by switching out its default.
With that said, the multifaceted nature of MS Access makes use of temporary objects in both SQL backend engine and VBA frontend, interacting with both hard disk and memory, especially in importing records and various queries. Even the MSN website mentions it on its Compact and repair page.
Access creates temporary, hidden objects to accomplish various tasks.
Sometimes, these temporary objects remain in your database after
Access no longer needs them.
Furthermore, make-table and action queries (append/update/delete) actually copies the entire resultset before committing final changes. Hence, users are prompted about the number of records added before changes are finalized with opportunity to rollback the action. So after migrating data, your database may have returned slightly to former state. Then, there's the garbage collection in VBA that releases memory when objects are no longer in use and OLEDB driver discontinued connection. It may be you witness some difference in file size as some space was recovered after your VBA processing finalized and went out of scope. I wonder at what instance you viewed the larger sized Access file? Would a refreshed Windows Explorer or CPU restart change the view? Did you read properties of file (from right-click) or details section of Explorer which differ in approximation? Do you witness other file size changes like in Excel workbooks? Is this a regularly occurrence or anomaly?
Managing the database creation process purely in code may the most efficient way to use the database instead of using Access' graphical user interface as multiple-user access locking and application objects add some overhead.
All in all, it is not likely ADO adds any data or components without your development knowledge. Regularly, decompile, compact, and explicitly remove VBA objects (i.e., set obj = Nothing
). See helpful performance tips. Also, don't focus too much on file size but performance and integrity as over the course of app, file size will be a fluctuating metric. One final note, though Excel is very popular and easy to use, as mentioned about the powerful native components of MS Access, consider developing your end use needs in Access (free runtimes are available via Microsoft, allowable since Jet is a Windows technology). In every aspect, Access provides a more stable multiple user application and automation environment.