This separate instance did not request a separate floating license, but appeared to use the same floating license as the other instance. Is this behavior by-design?
Yes. Although we will be adding a feature in the following months that will allow you to specify that each instance (even if they're instances within the same session) is forced to get its own license lease. But for most users we wouldn't recommend that behavior.
Would we have the same behavior if each instance was started under a different user?
No, separate sessions on the same computer would each get their own license lease.
Otherwise, the user could lose their lease just through closing one of the instances of the program, etc.
Yes, currently. We're making this better in the near future (that is, TurboFloat will handle it internally so that this doesn't happen). Most customers get around this by making their app single-instance within the session. But we know not all apps are like that.
Would then TurboFloat see all the instances as being associated with the same lease since they are running on the same computer?
No, TurboFloat was specifically designed to handle cases like this. Your app would run under separate sessions, and thus get separate leases for each session (even if the Citrix server is on 1 physical machine).
Does that make sense?