To answer your question, you are creating a string doing the for loop: ForEachObject{$_.FullName}
Have you looked at using HTML reporting? Don Jones put together a free e-book on it and there are various other articles on Powershell HTML reporting. Basically:
- Remove the ForEach logic
- Update .IsBodyHTML to $true
- Update .Body to ($empty_dir |ConvertTo-Html | Out-String)