Вы можете использовать небольшое отражение, чтобы узнать, является ли свойство типом значения или типом класса. Класс, вероятно, означает то, что вы подразумеваете под «объектом». Все типы в .NET выводятся из типа объекта.
Client.GetType().IsClass
Или вы можете просмотреть все свойства и посмотреть, какие из них являются составными
foreach(var p in ProgrammeClient.GetType().GetProperties())
{
if(p.IsClass) Console.WriteLine("Found a class");
}