OK - well, that's the C# side and it all looks fine. That was the first half of my question...
What does your method declaration AND invocation code look like in PB?
You have to use a variable of the ANY datatype as the return variable, then you cast that into the defined structure. Something like this:
ANY myAnyVar
myStructure l_myStructure[] // local array of your structure class
myAnyVar = ReturnItems( "INBOX" )
l_myStructure = myAnyVar