XCom = Cross-communication. Tasks exchange small pieces of information (IDs, file paths, timestamps, small configs).
It is not for large datasets. Don't put a 500 MB DataFrame in XCom.
Instead:
Save DataFrame → S3 XCom → "s3://bucket/path/file.parquet"
How big you can go depends on the metadata DB/backend. Treat XCom as small metadata only.