You can break it down into two statements and use the magic of captured variables to achieve the recursion effect:
myDelegate build = null;
build = delegate(Object bj)
{
var letters= string.Empty;
if (someCondition)
return build(some_obj);
else string.Empty;
};