First, thank you for the smack 4.1.2 update. The RosterGroup changes made fixed a very important memory leak for us.
After profiling with 4.1.2, I noticed another XMPPConnection memory leak. The Socks5BytestreamManager class declares a “managers” HashMap. These references prevent XMPPConnection objects from being collected. This map should probably also be a WeakHashMap.
Luckily I do not need SOCKS5 Bytstreams and I have been able to work around the issue by disabling the service, like so:
Socks5BytestreamManager.getBytestreamManager(xmppConnection).disableService();