I was having the same problems (Retrieving list of RemoteApp Programs that are available for Publishing never completing (mine ran for 30 min & never did anything) & the PowerShell command failed w/ "The argument reason is null or empty." I was able to publish new apps using the "New-RDRemoteApp" command but didn't like that I couldn't do it via the GUI & couldn't get the list via PowerShell.
After a lot of researching & completely rebuilding my RemoteApps infrastructure (not in production yet & only 4 servers so not a huge task), I discovered that the problem was being caused by the shortcut for one program in C:\ProgramData\Microsoft\Windows\Start Menu on the Session Host servers. That program is MS Dynamics & it doesn't run locally on the Session Hosts. The shortcut points to the network share on our accounting server where Dynamics runs. I remembered that my problem started after I'd installed Dynamics on the Session Hosts so I deleted the shortcuts from both Session Hosts.
After I did that, the PowerShell command got me the list of programs available on my Session Hosts & the GUI completed populating the list of programs in about 5 seconds. As a further test, I put the shortcuts back, then tried again. Original symptoms were back. Since no one will actually log onto the servers & use the Dynamics shortcut, I just deleted it from my Session Hosts.