The idea behind the stack trace limit is so that if the same (initial) method gets called we don't get stack traces for each time.
However, if a method ends up calling the same method multiple time it ends up triggering the limit issue.
Here a dump output that worked after I set the limit to 99 - with it's default of 1 it didn't print out:
*** /app/shared/lib/perl/Service/Ticketing/Logic/PTS.pm [162]: get_pts_certificate
*** stack trace ****************************************************************
Level 1: Service::Ticketing::Logic::PTS - /app/shared/lib/perl/Service/Ticketing/Logic/PTS.pm - 318 - Service::Ticketing::Logic::PTS::get_pts_certificate
Level 2: main - /app/shared/lib/perl/Service/Ticketing/Logic/PTS.pm - 319 - Service::Ticketing::Logic::PTS::BEGIN
Level 3: main - /app/shared/lib/perl/Service/Ticketing/Logic/PTS.pm - 319 - (eval)
Level 4: Test::Mock::Simple - /app/shared/lib/cpan/lib/perl5/Test/Mock/Simple.pm - 26 - (eval)
Level 5: Mock::Service::Ticketing::Logic::PTS - /app/shared/home/tmweb/src/tm/ss/shared-services/test/lib/perl/Mock/Service/Ticketing/Logic/PTS.pm - 10 - Test::Mock::Simple::new
Level 6: main - /app/shared/home/tmweb/src/tm/ss/shared-services/test/unit/Service/Ticketing/Logic/AtlasTest.pm - 11 - (eval)
Level 7: main - /app/shared/lib/perl/Service/Ticketing/Logic/PTS.pm - 319 - main::BEGIN
Level 8: main - /app/shared/lib/perl/Service/Ticketing/Logic/PTS.pm - 319 - (eval)
Level 9: main - test/unit/Service/Ticketing/Logic/Atlas.t - 3 - (eval)
Level 10: main - /app/shared/lib/perl/Service/Ticketing/Logic/PTS.pm - 319 - main::BEGIN
Level 11: main - /app/shared/lib/perl/Service/Ticketing/Logic/PTS.pm - 319 - (eval)
*** end of stack trace *********************************************************