>>So I guess you cant just exchange objects in that sense between different languages, even with the helpof protocol buffers.
No, not without them being binarily portable. You could push it over the wire with C# serialization, but java would have to rely on raw reading to do anything with it