If you “execute” the DataLoader, i.e. start an iteration, the workers will be spawned, which will create copies of the underlying Dataset and will start creating the batches and adding them to the queue.
The batches will use memory and in case you are loading data in the Dataset.__init__ method, these object would also allocate memory.
If you are creating the DataLoader object without iterating it, the memory usage should be minimal.