Lightningコンポーネントの中にLightningコンポーネントを渡せる、Lightningコンポーネントに引数を渡せる、と聞けば、再帰呼び出ししても良いのかな、というのが気になるところですね。
Auratest.app
<aura:application>
<tiwasakidemo:AuratestComponent />
</aura:application>
AuratestComponent.cmp
<aura:component>
<aura:attribute name="depth" type="Integer" default="1" />
depth: {!v.depth} <br />
<aura:if isTrue="{!v.depth lt 100}">
<tiwasakidemo:AuratestComponent depth="{!v.depth + 1}"/>
</aura:if>
</aura:component>
はい、internalエラーですか…。
手元で試した結果80回くらいまでは再帰できました。
ただ、コンポーネント内の記述を増やしたところ、もっと少ない回数でもエラーになってしまいましたので、皆様に置かれましては、再帰などは考えず、素直に普通のコンポーネント開発の入れ子として構築しましょう、て言われなくてもそうしますね。以上です。