Да, это может привести к росту памяти (это не утечка, если это преднамеренное поведение). Будет или нет, зависит только от того, как указан контракт уникальности. Например, если вы сериализуете один из этих объектов на диск, выходите из области, в которой он существует, и затем десериализуете его обратно с диска, происходит одно из двух: либо вы получаете один и тот же объект, либо вы получаете другой. Если вы получаете один и тот же объект, то каждый объект, который использовался в жизни JVM, должен быть сохранен, и у вас будет рост памяти. Если вы получаете другой объект, тогда объекты должны существовать только при наличии ссылки на них, и у вас не будет роста памяти.