Couple of points:
1. Service programs (i.e. *SRVPGM) should generally be compiled with the activation group set to *CALLER. That should solve your problem.
2. RCLACTGRP *ELIGIBLE within programs is usually not a good idea (in my experience). Consider reclaiming activation groups by name.
One more point:
If your calling program is an ILE program, consider specifying a named activation group rather than the default. Even QILE would be better. Reclaim the activation group when you know it will no longer be needed.
Hope this helps.