I work on a cross-platform mass-multiplayer game project which runs on ios/android, the in-house c++ framework also supports macos and win (we develop running and debugging builds on desktop machines most of the time), the codebase is quite large and takes 15-30 mins to make a debug build on a modern performant desktop.
Although current mobile devices are of high specs, like processing power (2-8 cores today), 3d graphics, the memory constraints are still a limiting factor, you don't have gigabytes of free memory at your app disposal and your application must be able to run (with sleeps/device being locked/suspended/resumed) for weeks without memory leaks and respond promptly to system requests to free some memory, avoid fragmentation. We even have regular automatic tests for hitting the memory limits per build, still doing manual memory management mainly without smart pointers to control exact lifetimes of the objects, we have special tools to dump current classes etc. being loaded (nothing of this kind in http://nim-lang.org/gc.html)
So how big is the work to add those memory tracing facilities to current Nim GC, manual alloc/allocShared implementation, i.e. dump current resident (allocated) classes, enumerate instances and their allocation places (filename/line)?
It might be worth mentioning that the GC is written in Nim:
https://github.com/Araq/Nim/blob/devel/lib/system/gc.nim
...not obvious to most people :) Further, at 3DICC where Araq now works we are also gunning for mobile fairly soon so such functionality is probably dear to us too.