Hello @Sergey Shabalov and welcome to Microsoft Q&A.
The DataLakeFileSystemClient has method GetPaths which includes both a path parameter and a recursive option. Wouldn't using these together eliminate the need for implementing a tree traversal yourself?
Please let me know if I misunderstood something.