This is weird, I’ve now tested the dataloader in a test function like outlined in the documentation for the iterable dataset with my data:
def test_dataloader(self):
        traindata = Data(
            os.path.join(self.store, 'origin'),
            0,
            200000
        )

        trainloader = DataLoader(
            dataset=traindata,
            batch_size=50000,
            shuffle=False,
            num_workers=os.cpu_count(),
            worker_init_fn=worker_init_fn
        )

        print(list(trainloader))

This works perfectly. Inside the training function, it still hangs.