When you open a 0 bytes CSV file the program ask you for file format. If you say it is a CSV file then opens garbage data. Then if you cancel the import, the file content is 1,5 KB of garbage data.
It's not a garbage data, it's a compound document.
What's a "compound document"?
Well, that may provide a "dictionary definition" of what a compound document is, but it doesn't change the fact that what the user perceives here is "garbage."
In particular, when the empty CSV file is opened and "Text CSV" is selected as the type for it when prompted, the spreadsheet opens with a row of nonsense, non-ASCII characters in it. If that's the "compound document" meta-data, then LibreOffice is interpreting said metadata incorrectly.
And then if you use Save As... to save the file immediately after it is opened, the saved file has all sorts of garbage in it, instead of it simply being an empty plain-text CSV.
So while the root cause of the issue may very well be that Microsoft compound document code is somehow being executed when it shouldn't be, the fact remains that from the point of view of the end user, there is in fact garbage in the file that shouldn't be there.
Eike Rathke committed a patch related to this issue.
It has been pushed to "master":
resolved fdo#46699 do not write compound document header when reading 0-length file
*** Bug 51172 has been marked as a duplicate of this bug. ***