C#, что не так?
А что у вас в o хранится? Оно индексируемое? Если индексируемое - то задавайте этот тип в фориче вместо object.
И да - переделайте вопрос так, чтобы там были не скрины!
У вас в фориче указать тип елемента Object, а у Object нет индексатора this[string] (ваш кэп).
Как решить:
a. Указать корректный тип (хз какой, тк из скрина не ясно - киньте полный код на gist или pastebin, или прямо тут)
b. Через рефлексию а ля var type = listen.GetType();
var prop = type.GetProperty("currency");
var value = prop.GetValue(listen); но я не уверен, что тут именно это надо. 
d. Написать var, вместо Object
e. Написать dynamic и вызывать listen.currency или listen["currency"]
f. Написать полноценный класс?

PS: 
Зачем делать Task.Delay(100).GetAwaiter().GetResult();, если можно Thread.Sleep(100); или await Task.Delay(100);?